Measure the gap between the two glyphs between the letter and the following "?", compare it to the gap with the previous letter; it is LARGER (yes, there's extra padding inside the "?" in that font, so that NNBSP does not need to be visible with that font).
This is Apple's design of that font. No bug ! Adding a NBSP will just make the resultint text more ugly and not compliant to common typographic practices. And it will behave very bad for UI design (remember we are translating an UI), or in Monospaced environment (where NNBSP is also zero-width), e.g. on terminals on old typewriters (where no extra spacing was needed at all).
In other devices (Linux, Windows...) NNBSP is what is needed to get the same spacing, because gaps are NOT part of the OpenType design of standard punctuations.
(I bet that this Apple font is ugly for Swedish, where a ":" can appear in the middle of a word to attach suffixes, and that ":" is not cutting the sentence in two parts but may be Apple provided a Swedish tuning in that font to conditionally cancel that extra gap between two letters). Apple has very specific proprietary rendering engine that an do that with complex AAT rules in its proprietary fonts, instead of standard OpenType fonts).
Anyway, AAT is being deprecated by Apple in favor of OpenType, but legacy fonts for MacOS and iOS will keep their AAT tables for legacy compatiblity reasons. The Apple's renderer in its browser allow applications to drop the AAT rules and use only OpenType/TrueType rules (and in that case NNBSP will be distinctly displayed, and no gap will be added into OpenType/TrueType metrics, NNBSP will be non-zero width). These Apple tricks in its default legacy fonts are not used in Times (recommanded for text publishing, and also used normally by default on the web; Apple also offers other fonts now for web content and applications UI, where NNBSP is mapped or handled directly by the renderer without needing any extra mapping).
Did you try changing your default font instead of the proprietary legacy ones (that have also poor I18n support with limited coverage for Latin) ?