Johnston speelde negen jaar in de jeugdopleiding van Celtic. Hiervoor debuteerde hij op 6 mei 2017 in het eerste elftal, tegen St. Johnstone.[3] Hij maakte op 19 december 2018 zijn eerste competitietreffer, tegen Motherwell.[4] Johnston kwam in zes seizoenen uit voor de hoofdmacht van Celtic, maar was daarin nooit basisspeler. Hij speelde in 2018/19 veertien speelrondes, waarvan zeven vanaf de aftrap. Beide zijn hoogste aantallen. Celtic verhuurde Johnston in september 2022 voor een jaar aan Vitória SC. Hiervoor speelde hij dat seizoen 25 wedstrijden in de Primeira Liga.
Johnston kwam uit voor verschillende Schotse nationale jeugdelftallen vanaf Schotland –15. Hij besloot in 2023 dat hij liever voor Ierland wilde spelen. Dat kon hij doen omdat zijn grootouders daar geboren werden.[5] Johnston debuteerde zo op 22 maart 2023 in het Iers voetbalelftal, in een oefeninterland tegen Letland. Hij maakte op 19 juni zijn eerste doelpunt voor de nationale ploeg, de 1–0 in een met 3–0 gewonnen EK-kwalificatiewedstrijd tegen Gibraltar.