Optimus would never ever require switching display servers. It just requires for one app to be able to render to the screen with one GPU and another app to render with another. That basically just means doing the work in Gallium to allow textures from FBOs on the NVIDIA GPU to be used by the compositor (or in fullscreen mode) to scan out on the Intel GPU.
At most all Wayland needs to support this is for the Wayland compositor's EGL implementation to hand out the proper GL context to the application. Everything else needs to happen inside of Gallium or the internal compositor code.
You could do that on X.org even, I'm fairly certain. Just nobody is because Linux graphics is understaffed.
The problem is that Optimus isn't that useful outside of WIndows, because Optimus is not automagic. It relies on NVIDIA providing a list of apps and which GPU they should use. That's not all that great, and in the Open Source world, it's not even remotely feasible to maintain such a list.
So you at the very least need a way for the app to specify whether it needs a basic context or a high-performance context. That may require a Wayland protocol update, but still does not at all require swapping servers.