When you press Cmd-Tab, first of all, if you hold it down for longer than about a second, it shows you the icons of the currently-open applications, letting you select which application you switch to.
Whenever you use Cmd-Tab to switch to an open application, it will always foreground all the open windows of that application that are on the active desktop/space.
When I'm doing something like you describe, where I know I'll be switching back and forth between a specific pair of windows of different applications (and I have a bunch of other windows of those applications open), my usual practice is either to size and position them where I can just see both at the same time (large screens ftw), or I'll pull them off into a separate space where Cmd-Tabbing between the two applications will be guaranteed to switch between just those two windows.
The problem with switching is that you quickly get too many windows / apps.
I tried to have a user per group, but that does T work fast enough.
The best setup for me is 2 or 3 machines, linked with synergykvm
Even if, with time, you have become comfortable with it, it is still a more convoluted way to manage tasks.
I actually find the macOS model to be more convenient (even though I didn't like it when I first tried it). It makes it very easy to switch away from an app that has multiple windows.
To be honest, I'm not sure there's an objectively better solution. I think it all comes down to the workflow and habits you've built around the model you use most often.
It's also pretty convenient to be able to switch between browser windows using cmd+`. I don't need to worry about getting other apps in between my browser windows.
Application switching makes sense in a world where the application is the locus of interest and you tend to spend a long time in each app, only rarely switching to another. We haven't lived in that world for a very long time.
Often I need to quickly switch between a particular terminal window to a particular browser window. But it's always a gamble. I don't know what I'm gonna get when I press cmd+tab. It may show the correct window, or it may show all terminal windows, or it may even do absolutely nothing.