Hash.to_xml and other such Railsisms may result in element orderings being different in the output of a REST service. XML Elems are order sensitive, so this would not be a problem for JSON or XML attributes.
What aspect of service definition best practices is this breaking that makes me think it is a smell ??
Thinking of REST over HTTP, caching is a big leverage. Even if the inside is “semantically” the same, if it differs structurally then you could end up with a lot of Cache misses (e.g. done with ETags). Of course it depends “how” the comparison is done, but imho most Cache implementations use simple hashing of the returned payload as comparing-entity.
So if Caching is important, I would tend to spit out also same structure for “semantically” same documents.