...that seems like a really good and intuitive feature. What would expect it to do instead? Close the window? Keep it on some invisible virtual desktop? (how large is the mysterious off-screen area in which windows can be lost?)
My laptop has a 15" 1080p panel. It's attached to 2x 32" 4K panels. When I'm done for the day, I turn the screens off.
When I come back the next day, all my windows are on the laptop onboard display, and if I'm lucky, resized in a way that makes them movable. If I'm unlucky, I need to close the application, re-open it, and hope it's back in a helpful way.
The 2x 4K panels show me my wallpaper every morning. They don't show me any windows that were on them.
For anyone else who gets stuck with a window where the draggable part is off-screen on Windows, if you click the icon in the taskbar to "focus" the window, hold Win+Shift and hit the up arrow, it'll maximize the window so you can see the controls. If it's on a different monitor, or on a "ghost" monitor your computer thinks is plugged in but isn't actually, use Win+Shift and left/right arrow keys until you can see the window :)
You can ask Windows to try and remember the location. It's not fool proof, but it works 90% of the time.
In fact, I've got more issues with windows opening on a non-connected screen (and then having to do Winkey + right a couple of times until it shows up on my laptop screen.
Suspend the machine instead? The external monitors will go to sleep when they lose the signal.
I don't know how you expect that machine to know that you're only disabling that monitor temporarily and you expect it to restore your windows at some future time when it reconnects.
If you plug in a new monitor, should windows jump onto it spontaneously?
I do the same, either my Dock, my Laptop or my screens, or all together give some weird issues where the screens turn on every 5 minutes and go to sleep.
And searching for 'Dock screen wakes up during sleep' just floods <search engine> with 'screen does not wake up after sleep'. And with <search engine>'s removal of respecting + and -, I am not sure I'll ever find a solution...