As far as I can tell, I’m passing the codepoints to fonthx correctly - say, 🐢 gets codepoint 128034.
If you can figure out whether the current version of fonthx handles UTF-32 correctly, I can spend an evening updating my fork and the tool.
I ended up finding alternative UTF-16 characters