I don't know if this is possible or not, as I am by no means an expert on X11 forwarding.
I do some of my work for my job at home. I set up X11 forwarding so that when I ssh to my workstation, I can open instances of programs I use (IDE, browser, etc) and use them on my computer at home. I usually remember to shut these programs down before leaving work for the day; sometimes I do not.
Typically what I've done in that case is just find the pid of the program I want to use and kill it. Then I run the program from the command line.
Again, my understanding of X-Windows is at best limited, but I from what I understand, I have to kill existing processes because their X-Windows server, from their perspective, is my workstation. When I ssh to my workstation and open one of these programs (after ensuring there are no other instances running), the server from the application's perspective is my terminal on my computer at home, which is why I see the graphical output there and not my workstation.
Is there a way to tell an existing process to change what X server it should be using? Or is this determined at runtime and unchangeable?
I am well aware of alternatives such as RDP, but this isn't remotely feasible.