I have rechecked and I do set the codepoint to U+1F451 as expected.
There's a possibility that the issue is on fonthx end, but I lack familiarity with both the codebase and TrueType format internals to even find where the codepoints are being written into the output.
Font appearing as BMP only is something about fonthx, but my attempts to figure out what is responsible for that have been similarly unsuccessful - fonts exported from FontStruct also show the same.