the event should have a tag "emoji" with a url to use instead of the text
I see that now. I looked at the full statistics of all reactions in my database and I don't even see a single ":)" they are all custom emoji reactions as you say. I didn't know custom emojis changed the core reactions NIP-25, I thought it was confined to NIP-30. So anyhow now I'm going to render them as □ instead of : rather than try to suppor it.