Well, by definition "unordered" means you can't count on any particular order. So while parsers may indeed preserve order, anything that
relies on it is in violation of the standard.
That said, I agree that being aware of this is important if you're emitting JSON. You'd think nobody would ever address a JSON object by its ordinal position, but programmers are lazy and worse, think they're clever. :)