I had them as space.hair, space.sixth, space.thin, space.thick with no unicodes – so they would just be read as space (u+0020). However, this is when I saw the odd line breaking. I’ve gone back to using no unicodes and will try again.
Could the use of a more narrow value than the set space glyph be interpreted by the text layout engine as a continuous word (so no gap between the word), resulting in not knowing what to do. I don’t have hypenation applied.
I didn’t want to use contextual kerning as the article at Contextual kerning | Glyphs says that the value can’t be interpolated across the fonts. By altering the space value I can benefit from different glyph widths across the font export range.