Indeed that is one of the threads I had read already where it was said that it wasn't possible to deploy globally. Fortunately I have managed to make it work through another couple of hours of trial and error. Most guides I've read (including from the microsoft site) didn't really go into the finer details of the SP PnP PowerShell command you need to run to get it to deploy the extension on all sites in SP19.
Ultimately it WAS simple in the end. I'm really confused about why Microsoft haven't made this detail more easily available in their SPFX documentation pages, especially around highlighting what needs to be done in SP19 on prem vs. SPO. Anyway I'll leave this here for anyone else who happens to stumble across my question here. The full command I ran with SP19 PnP PowerShell whilst logged in as an account with the required permissions was:
Connect-PnPOnline -Url <siteURL> -CurrentCredentials
Add-PnPCustomAction -Title "<Title>" -Name "<Name>" -Location "ClientSideExtension.ApplicationCustomizer" -ClientSideComponentId <Id> -ClientSideComponentProperties "{""cssurl"":""url_for_css.css""}" -Scope Site
The ClientSideComponentId can be found in your classname.manifest.json file. Note that the extension was uploaded to the app catalog site for the web app first and the checkbox to deploy globally was ticked.
My extension was based on this one here https://tahoeninjas.blog/2018/05/08/inject-custom-css-on-sharepoint-modern-pages-using-spfx-extensions/.
Hope someone finds this useful.