Mike Farman has pointed this out: "the display order of recent sites in the Move/Copy to picker is different than the Recent sites list in the header dropdown. ... my first thought was that the recent sites list was wrong, as the sites weren’t in the order I was expecting (based on the order in the header dropdown)"
It seems correct to me that 'recent sites', where they appear, should always appear in the same order - most recent first? Presumably?
I would imagine that the best way to achieve this would be to have all recent sites lists retrieved from ScriptPreferenceService.getPreferences(username, filter) - that method already sorts results - perhaps not in the way we want, but in a way that is easy to change.
The dropdown in the My Sites dashlet gets recent sites from the ScriptPreferenceService by getting all sites and then filtering within my-sites.js - the dashlet js file.