Ok, I take at least part of that back - I now recall an GL extension (something to do with robustness) which allows applications to opt into being able to lose their state, and have them rebuild the gl context. With this, things move from impossible to merely difficult and vulnerable to app bugs.
Note, doing this in Wayland is likely to be no harder than it would be in X. Both would need to make the handles driver independent (possibly through a proxy driver), and both would need to track what is running on what GPU. The driver would need work as well, and they share the drivers.