Repêché au sixième tour en 2017 par les Maple Leafs de Toronto, le joueur de 21 ans a fait un bref passage avec les Marlies lors de la saison 2018-2019. Insatisfaite de son développement, l'organisation a décidé de ne pas le signer, ce qui signifie qu'il n'était plus leur propriété et les Coyotes ont sauté sur l'occasion.
Lors de son passage dans la OHL, McGregor a joué ses cinq saisons avec le Sting de Sarnia, amassant 228 points en 286 matchs. En plus de ses habiletés offensives, le jeune attaquant a démontré qu'il était un leader incontesté de son équipe en étant capitaine du Sting au cours de ses deux dernières saisons. Avant cela, il a été l'un des capitaines adjoints de l'équipe pendant deux autres saisons.