Not that it excuses bad UX, but you might consider keeping your browser window at something below full width. I find this more comfortable anyway.
Total aside: I've noticed Windows and Linux users tend to keep their windows fully maximized, whereas Mac users don't. Doesn't apply to everyone of course, but enough to be noticed. This was true even before Apple changed the behavior of the green Zoom button, and I've always wondered why.
Also any power user that cares will use a tool like Divvy on macOS for arranging windows with hotkeys.
Alt-tab goes between applications
Interesting, I've noticed the exact opposite. Mac devs, especially younger ones, tend to have full-screen IDEs and browsers and constantly flick back and forth between apps. My theory was always that Windows and Linux users had gotten comfortable with the desktop metaphor while a large percentage of newer Mac users grew up using iPads which were all full-screen, all the time.
It used to be that if you clicked the green button on Mac, most apps (not all apps, for weird aqua-UI reasons, but certainly web browsers) would grow to fill the screen without outright hiding the menu bar and dock, just like the maximize button on Windows.
To this day I still rarely press that button because of years of it doing nothing but unpredictable nonsense.
It might depend on the program, too. Some might only work in pixels. Fortunately, it is usually not a problem if you are trying to run a program designed for Gameboy; the emulator should be able to scale it automatically, subject to the user setting. I don't know if any X server has a setting to magnify mouse cursor shapes, but it seems like it should be possible to implement in the X server. Also, it seems like SDL 1.x has no environment variable to magnify the image. My own program Free Hero Mesh (which I have not worked on in a while, because I am working on other stuff) allows icons to be of any size up to 255x255 pixels (the puzzle set can contain icons of any square size up to 255x255, and may have multiple sizes; it will try to find the best size based on the user setting, using integer scaling to grow them if necessary), but currently is limited to a single built-in 8x8 font for text. If someone ports it to a library that does allow zooming, then that might help, too. However, it is not really designed for high DPI displays, and it might not be changed unless someone with a high DPI display wants to use it and modifies the program to support a user option for scaling text too (and possibly also scaling icons to a bigger size than 255x255) (then I might merge their changes, possibly).
Still, I don't need 4K. The size I have is fine, but unfortunately too many things use big text; some web pages zoom text by viewport size, which I hate, and a bigger monitor would then just make it worse.