In her WWDC20 talk, Ellie Epskamp-Hunt mentioned in passing that you should assume that just because DOMContentLoaded has occurred that the script is loaded (for example, user might have to give it permission to load). But she doesn't say how you should determine that the script has loaded. How should you do that?
How to wait for content scripts to load
You can have your content script send a message via runtime.sendMessage() to the background script or popup page when it executes.