The Openfire XMPP server that we're using has a REST API that allows us to supply any number of simple key/value pairs of "extended properties" on users. There is no fixed set of property keys. I guess I just assumed that this was a feature of the XMPP spec.
In my case, I am wanting to add properties to users like "floor," "unit," "room," "bed," "device-type," etc. This system I'm working on is going to be used in a hospital setting and having some additional metadata about the users/devices in the ecosystem will be helpful. I suppose I could always just use the RESTAPI to query the server when I get the JID from the OnRosterItem or the OnPresence events, but if it were somehow contained within the data that's already coming through on the wire that would be ideal.