The point is that the XSL recommendation states that the default word-spacing value is "normal", meaning "The normal inter-word space, as defined by the current font and/or the UserAgent", not zero. At the moment, the SpaceVal variable in the TextInfo object used by the TLM has .getSpace().min == .getSpace().max == 0 even if the word-spacing property was not set in the fo document.
So, the right question is: how can the TLM see if the word-spacing property value is "normal"?
Take a look at the way WORD_SPACING is assigned now in PropertyManager. I assume some other MinOptMax value should be used when the enum value is NORMAL but I don't know exactly where the value should come from.
Anyway, I hope this is a step in the right direction.