I'd be surprised MS Word doesn't do the same. No need for a "true" typesetting solution.
And another "US English" centered thing; spacing does not really matter in English, but can have functional differences in other languages and scripts.
https://www.youtube.com/watch?v=2yWWFLI5kFU is a fun look at one of the problems with Unicode in general.
Did the 646 standard account for variable-width characters at all?
What are the actual official rules in this case (and are there links to those? Because that'd be fascinating information to read through)?
Actually before the ":" specifically there should be a regular non-breaking space, not a narrow one. Except in Switzerland. Other punctuation marks take the narrow non-breaking space.
Which I guess means we're completely free to ignore it. Pour mêmes raisons =P