@davidedmundson proposed a protocol on wayland-devel. It wasn't objected to. But I didn't push forward.
Effectively we use wl_foreign get a token and then pass them in the way as x timestamps.
Then a request "take_focus(string token)", where kwin will give focus if a surface has a token from the currently focussed surface it is moved
As per new wayland policy, we should make an implementation regardless (on a different name)
Also requires patches throughout KRun/KDbusService and maybe add support for Qt foreign windows via QPlatformHeaders