Why does this count differently from my text editor?
Threads counts characters, except for emoji: its developer documentation says in as many words that emoji are counted as UTF-8 bytes, so one emoji costs four or more against the 500. This counter charges them that way.