copy and paste tabs between terminal windows in X11

Yes, your observation is correct. What happens when you copy-paste is that the target obtains the data from the source. When displaying your tabs, the xterm (and konsole), apparently, translate them into spaces themselves (if the application running inside the terminal has not done that already). Thus, when a request comes for the selected text, all they have to offer is the spaces.

I even vaguely remember a response from an xterm-maintainer years back, claiming it would be very difficult to fix...

I'm not sure, how gnome-terminal does the right thing, but I'm glad they do :) Another alternative is to use gvim (graphical version of vim) -- instead of running vim inside a terminal application -- you can safely copy-paste from gvim, without losing tabs.