The problem is that devs get designs from designers who have absolutely no idea of the native capabilities of the design system (how the authors envisioned extending it and supported), and you _have_ to implement their designs, because managers have no idea. So you do what you need to do.
Another way to look at it is arrogant designers actively trying to prevent you from making certain changes (that other designers then ask for). Adding the occasional semantic class in to make devs' lives easier when they get caught in the middle wouldn't kill anyone.
Also, .my-hook.my-hook.my-hook is a fairly convenient way of blasting specificity when you need it.