The order of a dictionary doesn't have any relationship to the order it was defined in. This is true of all dictionaries, not just those turned into JSON.
>>> {"b": 1, "a": 2}
{'a': 2, 'b': 1}
Indeed, the dictionary was turned "upside down" before it even reached json.dumps
:
>>> {"id":1,"name":"David","timezone":3}
{'timezone': 3, 'id': 1, 'name': 'David'}