>>jltsir+(OP)
On GNU/Linux with the Sway Wayland compositor, I have a bunch of keybinds to focus a program by app_id (wayland) or class (xwayland) so I can jump to specific windows even on other monitors or workspaces. This wouldn't solve the issue of multiple windows of the same program, but I find I rarely have such a thing. I bind the actions to ctrl-super-foo where foo is a letter associated with a mnemonic like b for browser or v for video (player). I then also made a key in my qmk (keyboard firmware) config where pressing it once acts as ctrl-super and also like a sticky key where I can let go and then slowly press the next letter instead of holding the modifiers down. I've been very happy with this setup.
I do tend to have multiple terminals (local tmux session, remote tmux session, tmux session dedicated to my text editor), which I launch with custom app_ids so that they all have their own separate keybind.
Just to let you know you can probably get something pretty personalized outside of macOS as well!