Interestingly Morgan averages 36.17 in the top 3 from 26 innings in limited overs cricket, which is decent enough (although S/R could be better). In 13 matches at 6 Morgan averaged 24.22 in Tests, but averages 52.8 in 5 innings at 5+7 (small sample size, but maybe 6 just wasn't the right position for him in Tests). Hales only got to bat 2, which is a tough position and averaged 27.28 (Morgan 30.43). It is fair to say Morgan played in a stronger Test team - so the disparity in their averages in Tests can probably be ignored. In a weaker team in ODIs (Ireland) Morgan's average and S/R was comfortably less - suggesting in Test cricket he might have struggled more in a weaker side. Hales has been less effective at 3 than 2 in ODIs. Their ODI and T20I stats are dead close overall.
In limited overs combined Morgan has been much stronger with the bat as captain overall, than not captain. Much higher S/R in T20I as captain (similar average to when not) . Much higher average and S/R as captain in ODIs, compared to when not. Can't really say what would have happened to Hales if he was the captain stats wise. The average progression for Morgan might have been a natural progression from getting older and more experienced, so I'm inclined not to hold it against him in the comparison. Morgan also has more games played overall, which goes for him.
Therefore I decide I can only separate them by a tiebreaker personally, in order to vote. Which I decided is by who has played the best international innings. That is Morgan against Afghanistan in The 2019 ICC Cricket World Cup. Slightly harsh on Hales, but my vote is going to have to be for Morgan - otherwise I can't vote, which is stupid.