The HID protocol used by keyboards to talk to the OS doesn't support Unicode.
In fact, it doesn't even support letters: you're sending key positions instead. If you press the letter "A" on an Azerty keyboard, your keyboard will essentially send a "Q Down" event - because that "A" is placed in the "Q" position.
Getting Unicode out of that is really tricky due to half a dozen abstraction layers, most of which are unique for that OS. Mapping a specific Unicode character to a position isn't too bad (just use a custom keymap), but adding generic Unicode support is a nightmare.
My understanding is that unicode is just not part of the hid spec. Keyboards send scancodes that the pc interprets into window events. That translation is not part if the spec, and therefore os dependent.
Oh neat! I didn't know it could do this. I use U+202F (Narrow No-break Space) all the time to separate numbers from their unit (as in "20 kg" which I'm sure won't display correctly here), but I haven't found a convenient way to enter that on macOS.
Which modifier+space produces U+202F? Alt+Space produce No-Break Space (NBSP) U+00A0 which is different and lacks the appropriate narrowness.
EDIT: I tried alt+space, alt-shift+space, alt-ctrl+space, alt-shift-control+space, shift+space. All produce either U+00A0 or U+0020 and other combinations, such as including Cmd doesn't work at all.
Sorry, I meant adjusting your layout with Ukelele or using a keyboard remapping tool like Karabiner Elements, where you can bind any modifier + space to insert any space (and KE can include Cmd and differentiate between left and right sides). You could even have a Ctrl+Space deadkey for less frequently used spaces, where any subsequent letter will print a mnemonic space (m-em space, f-figure space, b-no-break etc).
(And with KE even have a delayed notification to remind you which letter means which space if you don't complete this deadkey within, say, a second)
Thanks, good suggestion -- I usually try to avoid extensions as much as possible for many reasons (incl. that Apple actually discourages it), but I'll look into it.
In fact, it doesn't even support letters: you're sending key positions instead. If you press the letter "A" on an Azerty keyboard, your keyboard will essentially send a "Q Down" event - because that "A" is placed in the "Q" position.
Getting Unicode out of that is really tricky due to half a dozen abstraction layers, most of which are unique for that OS. Mapping a specific Unicode character to a position isn't too bad (just use a custom keymap), but adding generic Unicode support is a nightmare.