I think the best suggestion is the one you ignored: use XMonad.Layout.PerWorkspace to set that workspace's layout to one that doesn't include avoidStruts. See
http://hackage.haskell.org/packages/archive/xmonad-contrib/0.11/doc/html/XMonad-Layout-PerWorkspace.html
for details.
I've run xmonad inside VNC with no problems before, if you were looking for a testimonial there. If you're looking for advice, can you say what it is you're worried about?