You’re also right about lack of visual feedback, which is disappointing given the various stuff that I think is still currently branded Mission Control, where obviously the fundamentals are already there.
Cmd ~ isn’t statically ordered though, it’s either application specific or based on recent use in a weird (easy to confuse) heuristic. It follows a similar (maybe identical?) pattern to recent use for cmd tab, and even app switching on iOS.
Makes sense, since cmd+~ immediately switches on key down to the next window; cmd+tab (like alt+tab in Win) lets you keep the selection open and choose an out-of-order app, which alters the MRU. How would you do that here? The only way I've affected it is creating/killing windows at points in the cycle. Using cmd+shift+~ for me just goes backward in the same static order.
I’ve seen this most consistently in apps where I commonly have too many windows open, VSCode iTerm and Chrome being the worst offenders. Edit: my worst offenders, the apps don’t do anything unusual here.