>From what I understand xmonad creates virtual root windows on each screen to detect if focus should
xmonad neither uses nor cares about virtual root windows; they're the sort of thing desktop managers use. Where did you get this idea?
Instead it is rather likely that xmonad is lazy about the notion of screen focus; in many ways, a workspace with no windows "doesn't exist" even if it's on a screen, because in practice a workspace is defined by its windows. In particular, much of the concept of "workspace" is created by the layoutHook, which usually doesn't do anything if there are no windows.
--