As a holder of more than 2000 IDNs in many languages, I would like to answer this question.
Punycodes are the ASCII formats of the multi-lingual names. Not every extension supports IDNs. Similar to multi-lingual domains, emojis are represented by ASCII punycode form for naming resolution.
Although they come under IDNs, not every emoji displays correctly in the web browser due to lack of browser support. On the other hand, multi-lingual, language specific IDNs display well in most of the modern browsers.
For example,
München.de is a german IDN and it displays well in most of the browsers because this is a language specific IDN.
Punycodes are mapped well with all existing language tables. That's why language specific IDNs display well in modern browsers.
.com is an Emoji IDN (Face with a mask), but it doesn't exist at all due to the fact that the punycode (xn--y38h) mapping for this new emoji has not yet been implemented. Another reason is, emojis are not predefined like lingual alphabets and they are created & updated very often, which makes the mapping of punycodes with the corresponding emojis a tedious process.