In my opinion it should theoretically work, because
Extensible Messaging and Presence Protocol (XMPP): Address Format
says:
This profile uses Unicode 3.2 with the list of unassigned code points in Table A.1, both as defined in Appendix A of [STRINGPREP].
RFC 3454 - Preparation of Internationalized Strings (“stringprep”)
lists U+1F600 as unassigned code point in Appendix A.1 (1D800-1FFFD)
I think it’s a bug in Openfire’s JID logic, which is also very closely related to OF-148.
Openfire uses a third-party library for Stringprep, which is hardly maintained I think. However, OF uses libidn-1.15 and the latest version is 1.29. Maybe it’s worth updating. Maybe you could exchange the library in your local Openfire installatoin and tell us if it works?
Unfortunately, you can’t easily debug it, because the JID class is in another library (Tinder).
If you really have the passion, you could download the Tinder sources (not the released 1.2.2 version, but the unrelease 1.3.0-SNAPSHOT), include them in the project’s classpath and use the sources instead of the Tinder.jar.