I know I'm going to get a tirade for this, but here goes...
It's important to take a step back and understand what brogrammers mean when they think "best practice." They think "high cohesion" means that everything you need to understand what's going on in the code in front of you is in a single file in front of you. So no matter how convoluted and difficult to read that code is, if it has "colocation," it's good. By the same token, they believe that there should be minimal contact between a component and its parent. And, in your example, they have a point. If you're building a React component or something like that (which most people using Tailwind are), you have it in the back of your mind that it could be reused and so your CSS is not going to be tied to ID (there might be more than one or the unit of reuse might be a child).
At the same time, they have an (IMO) irrational fear of styles "leaking" and of styles that were once used in a project just hanging out there long after they were last used. It also bothers some developers way more than it should to think that someone might want to style their precious component differently than their first idea of how it should look. A lot of these come from working on teams with varying skill levels and poor cultures, but it resulted in real problems developers didn't know how to solve just using CSS. So they tell themselves they can created walled gardens around their components and somehow they will always look perfect no matter where you put them in the DOM. One thing about Tailwind is that since it eschews the cascade, it likely won't affect anything else around it. To me, it makes sense to get the most leverage out of every line of code, but if you don't understand CSS and it feels hard, I can see why you would use these weird fad libraries to try to tame that.
Oddly, I see signs of hope on the horizon. With NextJs making React components server-side by default (let's not argue about whether that makes sense--the fanboys are already jumping on it, so it's happening), bros are having to learn to do basic stuff without JS and learn more of the basic capabilities of HTML, etc. Only now learning the basics makes you a Chad, not a cuck.
And interesting new fad is "unstyled components," libraries like Material UI that only provide the functionality, but do zero styling so you can style them yourself. A lot of people will be using Tailwind for these, but the thing is that unless you understand how (for example) flex-box works, you still aren't going to be able to make Tailwind do it. So on balance I think this is a positive trend that will make it sexy for people to learn the basics. That CSS knowledge people are getting to use Tailwind will ultimately transfer once people realize how bad it is for maintainability and start ripping it out. Sorry, they won't ever do it for accessibility reasons because most companies don't GAF and most developers only care to the extent they're paid to care.