To add to that, you probably want to use Manifest V3 in your extension. I had used Manifest V2 in mine and it was causing issues with newer Chrome versions. Essentially, the extension would not get loaded properly and would cause a timeout error when trying to load generated background page.html.
To add to that, it was working fine in my development environment, which was running on an older Chrome version than production (not ideal, I know). Needless to say, that it took me a while to figure out the root cause.
With Manifest V3 and the options.add_argument("--headless=new") setting mentioned previously, my extension for proxy authentication is now running absolutely fine in Selenium with headless Chrome.