Stafford McDowall commence à jouer au rugby au Stewartry RFC, puis avec l'équipe de l'École Merchiston Castle, avant de rejoindre les Glasgow Warriors chez les moins de 17 ans, en 2014[3]. Ensuite, il joue pour Édimbourg Rugby dans la catégorie des moins de 18 ans avant de retourner chez les Warriors en moins de 20 ans[4].
Stafford McDowall joue pour la première fois avec les Glasgow Warriors en , lors d'un match amical face à Northampton. Il entre en cours de partie et son équipe est battue 14-19[7]. Quelque temps plus tard, le , il fait ses débuts professionnels lors de la septième journée du Pro14 de la saison 2017-2018 contre les Southern Kings. Il entre en jeu dans une large victoire 43 à 13[8],[9]. Il s'agit toutefois de son seul match de la saison.
Durant les saisons suivantes que McDowall commence à gagner un peu de temps de jeu. Il marque le premier essai de sa carrière face au Zebre, lors de la 17e journée de championnat de la saison 2018-2019 (victoire 10-42)[10]. À la fin de cette saison, les Glasgow Warriors sont battus en finale du Pro14 par Leinster (14-18), match auquel McDowall ne participe pas[11].
Cependant avec l'arrivée de Danny Wilson(en) à la tête de l'équipe en 2020, son temps de jeu est très faible et son équipe ne lui propose ainsi pas de prolongation de contrat. McDowall pense alors à arrêter sa carrière pour s'occuper de la ferme familiale[12],[13]. Finalement, après le départ de Wilson en 2022, il retrouve du temps de jeu durant la saison 2022-2023 et s'impose en tant que titulaire au centre et est même désigné capitaine à plusieurs reprises[12],[14]. Cette saison, il joue dix-neuf matchs toutes compétitions confondues, dont dix-huit en tant que titulaire et marque neuf essais, soit 45 points[1]. Les Glasgow Warriors atteignent la finale de la Challenge Cup où ils affrontent le RC Toulon[15]. McDowall débute cette rencontre sur le banc des remplaçants, puis entre en jeu à la place de Domingo Miotti à la 45e minute. Les Écossais s'inclinent sur le score de 43 à 19[16],[17]. À la fin de cette saison, ses très bonnes performances sont récompensées par une prolongation de contrat de deux ans[18],[19].
Carrière internationale
Stafford McDowall représente dans un premier temps l'équipe d'Écosse des moins de 18 ans, avec qui il affronte notamment les Scottish Exiles(en) en 2016[20].
En , il est appelé pour la première fois de sa carrière en équipe d'Écosse pour le Tournoi des Six Nations 2019[22]. Il ne joue cependant aucun match à cette occasion. Quatre ans plus tard, il fait son retour en sélection, appelé par Gregor Townsend dans un groupe de 40 joueurs pour le Tournoi des Six Nations 2023[23]. Il ne joue toujours pas avec son pays durant ce tournoi. Il doit attendre six mois pour connaître enfin sa première cape, à l'occasion d'un match de préparation à la Coupe du monde 2023, face à l'Italie[24]. Il est titularisé et joue toute la rencontre, se terminant par une victoire écossaise 25-13[25]. Il n'est toutefois pas retenu dans le groupe final participant au Mondial[26].