I guess you're right and "impossible" was too strong of a statement. I just didn't feel like debugging those CSS things, especially when adding any new Leaflet plugins, or any other things. So I just switched to a style that I knew will work robustly.
To all rules, and then add the nostyle class to all elements you want to exclude.
The problem would be that you have to add the class to every single element (and all children) to exclude them, and there seems to be no good way of having
selector:not(.class and all children of .class)
The Shadow DOM method is really interesting though, I’ve never used it anywhere but it looks like it’s perfect for this application.