Johnsgaard startete im Dezember 2009 erstmals in Vernon im Nor Am Cup und belegte dabei den 66. Platz über 15 km Freistil. Sein erstes Weltcuprennen lief er zu Beginn der Saison 2012/13 in Canmore und belegte dabei den 56. Platz im Skiathlon. Seine besten Platzierungen bei den Nordischen Junioren-Skiweltmeisterschaften 2012 in Erzurum waren der 49. Platz im Skiathlon und der zehnte Rang mit der Staffel. Im April 2013 kam er bei der US Super Tour in Truckee mit dem zweiten Platz über 3,1 km Freistil erstmals im Continental Cup aufs Podium. Bei den U23-Skiweltmeisterschaften 2014 im Fleimstal errang er den 42. Platz im Sprint und den 21. Platz über 15 km klassisch. Im März 2014 wurde er bei den kanadischen Meisterschaften in Corner Brook Dritter über 10 km klassisch und Zweiter im Sprint. Bei den U23-Skiweltmeisterschaften 2015 in Almaty belegte er den 47. Platz über 15 km Freistil, den 32. Rang im Skiathlon und den 14. Platz im Sprint. In der Saison 2015/16 kam er in Nor Am Cup dreimal auf den zweiten und dreimal auf den dritten Rang und erreichte damit den dritten Platz in der Gesamtwertung. Anfang März 2016 holte er bei der Ski Tour Canada, die er vorzeitig beendete, mit dem 30. Platz in Gatineau bei der ersten Sprintetappe seinen ersten Weltcuppunkt. Nach Platz 72 bei der Weltcup-Minitour in Lillehammer zu Beginn der Saison 2016/17, erreichte er in Ulricehamn mit dem dritten Platz mit der Staffel seine erste Podestplatzierung im Weltcup. Bei den Nordischen Skiweltmeisterschaften 2017 in Lahti belegte er den 56. Platz über 15 km klassisch, jeweils den 55. Rang im 50-km-Massenstartrennen und im Skiathlon und den 53. Platz im Sprint. Zum Saisonende errang er beim Weltcup-Finale in Québec den 53. Platz. In der Saison 2017/18 errang er den 81. Platz beim Ruka Triple und holte im Skiathlon in Mont Sainte-Anne seinen ersten Sieg im Nor Am Cup. Bei den Olympischen Winterspielen 2018 in Pyeongchang lief er auf den 69. Platz über 15 km Freistil und auf den neunten Rang mit der Staffel.