"From a practical standpoint, all these apps are integrated with the web. How the code is delivered, or what runtime is used, are just technical details."
How standards are made, what must be implemented in an interoperating browser, are not "just technical details". If that were so we could treat browsers like bespoke server installations, with different language VMs, databases, etc. That would fragment the web into non-interoperating silos.
On the server side, subsidiarity is the rule. Different sources of authority over domain names can provision as they please. But the servers all speak HTTP, HTML, CSS, JS, PNG, etc. -- a relatively small set of content languages. And the browsers must all agree on how these work.