Sway does the latter. When you have multiple displays, every workspace gets assigned to a display. When you remove a display, those workspaces move onto a remaining display, but, importantly, every window stays on the workspace it was on, so you don't get shuffling and rearranging windows. When you plug that display back in, those workspaces go back to that display. I get that there's no "perfect" way to handle this situation, but the way Sway does it is so much more simple and predictable than Gnome or Windows.