I’m afraid I can’t offer to you a fix but I do think it’s telling that in each of our cases, for unexpected display output behaviour in Linux each of us resorted to overriding the DE’s failures with xrandr scripts.
under gnome (ubuntu) my experience is it will reset location and orientation of all the displays when the outputs change (it also doesn’t like overlaps). But I don’t experience application window locations reset, even though I’ve seen it.
That, to speculate could be something like one of the monitors is not waking fast enough but if so I don’t know it could be overriden.
I’d certainly not be above trying setting the ~/.config/monitors.xml file read only (once configured in settings).