I wonder why the library does not provide the content of the item as-it-is.
Basically because the xml-roundtrip feature of XmlPullParser is not available on Android and Smack tries to stay Android compatible. xml-roundtrip makes getText() return the full tag text when the parser in on START_TAG and END_TAG. Whithout this feature, we can only create the payload by parsing every tag and inspecting its attributes and namespace declarations. This introduces the mentioned effects when parsing XML of unkown structure, which is done very rarely when it comes to XMPP, but PubSub PayloadItem<SimplePayload> is a noteable exception.
BTW Smack is modular, you can always easily replace ItemProvider by your own implementation. To create a SimplePayload class which payload equals the input.
As with the current implementation, the prefix is lost, but it seems that it's ok for you.