So I recently got around to writing some code around a similar idea — enabling people to build websites using only components by treating data (the remaining bastion) as web components:
Oh yeah, that was also something that ended up being a nice side effect of the insane amount of yak shaving I did and a nice way to sell the post to r/javascript -- I got a chance to look through the world of native web components and get a feel for most of the popular libraries.
I personally think I'll choose lit-element in the future for web components I build, it was by far the best to use and was least-surprise (which I value more and more these days).
Demo page: https://mrman.gitlab.io/services-as-dom-elements/
Blog post describing the idea: https://vadosware.io/post/sade-pattern-services-as-dom-eleme...