In that one sentence I think you've highlighted what garners hate from the haters. It's powerful, and it's great when that power is used for good. Those times when it's not is where people get agitated.
It's fine, I guess. But it did take a while to learn the new ways.
I think this is the main complaint from users with decades of experience. Their scripts and old knowledge stops working.
The behaviour you describe is not unreasonable to want: If your network device goes away, what exactly are you binding the socket to? How are you restoring the listening when it comes back up? But it's up to you to say which one you want.
I still hate it.
Sorry, but understanding systemd does not preclude hating it.
In fact, it's because of the "haters" that I decided to dive deep into what init/supervision systems are and can be. Without that deep dive, I would have always thought that systemd was great. Afterward, however, I know just how wrong that is.
If a developer's only interaction with init systems was SysV init, yes, of course, systemd is the greatest thing since sliced bread.
But systemd could have been so much better...
Disclaimer: I'm writing an init/supervision system to be so much better. And simpler. Orders of magnitude simpler. Oh, and one that doesn't reach its fingers into every part of your OS.
tl;dr: systemd is better than SysV init, but it's not the end-all-be-all of init/supervision systems.
If you are a developer on Linux then you really owe it to yourself to learn as much as you can about systemd.
If you really understand systemd then you'll find yourself architecting your software around its capabilities.
systemd, if you understand it, can mean you can completely avoid large chunks of development you might otherwise have assumed you need to do.
socket activated services, nspawn, traffic accounting, the list of juicy goodness goes on and on....
Ignore the haters, they wouldn't hate if they dedicated their energy to understanding systemd instead of hating on it.
In 2022 you are a really an incomplete full stack developer if systemd is not one of the technologies you know very well.