Seems almost like what I want. It's a bit smarter too, I guess I'll give it a try:
> Each monitor contains an independent set of workspaces arranged vertically. [...] You can move a workspace to a different monitor [...]
> When you disconnect a monitor, its workspaces will automatically move to a different monitor. But, they will also "remember" their original monitor, so when you reconnect it, the workspaces will automatically move back to it.