If you're willing to switch desktop environments, Cinnamon seems to at least consistently remember monitor layouts between different configurations. Mixed DPI is still garbage though; I think it's basically a poor underlying model with X11, but I'm no expert on the implementation.