This comes down to the way Unicode works: it encodes semantic meanings, not actual glyph shapes. Some fonts might display "a" with a hook on top, while others might not, and neither is incorrect.
In this case, the letter is used differently in different languages. Its official name is "NOON GHUNNA", a letter used in Urdu to indicate nasalization at the end of words. Since it's only used at the end of words, it's not expected to be used with another letter after it, and fonts generally reuse the glyphs they've already created for normal nūn instead of making new ones that will never be used in Urdu.
However, Unicode has clarified that this is a bug: recent versions of the Standard suggest that NOON GHUNNA should be dotless in all four contextual forms (though it's not mandated). If you have a font with multiple versions (like Noto), see if you can use one built for Arabic instead of Urdu: when this letter is used in Arabic, it's always supposed to be dotless.
See this bug report for more details.