JohnB I think iframe would be safest, but it depends on content policies, plus with an iframe there's no way to manipulate the CP data (in a safe way, if needed) by plugins.
I'm expecting my plugin to stop working when v12 comes on the 10th because of a "single page" theme. I'll just have to do testing to fix.
I think the best approach is to have some bash script sitting outside of enhance that runs periodically to update the content when ECP changes/updates, then it can inject javascript and a script/API (to communicate on the front-end) and the rest (checking/installing/removing) can be done via the script and JS.
Like you said my code is looking for parts of html in the DOM to inject what it needs. It's also completely feasible to inject code at the footer before </body> and style it to be positioned fixed/absolute. Not pretty, but it'd work.