My biggest issues with WebComponents, shadow dom, etc… it has the same issue as react without something like redux, but worse. State management is a really big issue, and using a system that only supports passing text doesn’t make it any easier.
In the end, I work pretty hard to keep things from going too far in the apps I work on. That’s meant up to 500kb of JS, and often similar amounts of config and styling. I can do a lot with that. It has meant hand building some SVG instead of a 200k library here, and tweaking to keep momentjs from bundling with a charting component library.
I’m not against hand crafting things. That said there’s a middle ground to be had.