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.