Johnson attended Jay M. Robinson High School in Concord, North Carolina, where he played baseball. After graduating in 2016, he enrolled at Louisburg College. At Louisburg, he played mainly as a shortstop, hitting a combined .254 with nine home runs in his two seasons there.[1][2] During his career at Louisburg, he pitched a total of six innings.[3] After his sophomore year, he transferred to Campbell University and began focusing solely on pitching.[4] In 2019, his junior year at Campbell, he appeared in 14 games (11 starts), going 3–3 with a 4.61 ERA, striking out 81 batters over 66+1⁄3 innings.[5]
Johnson did not play a minor league game in 2020 due to the cancellation of the minor league season caused by the COVID-19 pandemic.[10] He was assigned to the Charleston RiverDogs of the Low-A East for the 2021 season.[11] He appeared in 23 games (making 16 starts), pitching to a 6–6 record, a 2.88 ERA, and 115 strikeouts over 93+2⁄3 innings.[12][13] He was assigned to the Bowling Green Hot Rods of the High-ASouth Atlantic League to open the 2022 season.[14] In late May, he was placed on the injured list with forearm inflammation.[15] It was later announced that he had torn his ulnar collateral ligament in his elbow and would be undergoing Tommy John surgery. Over 27 innings prior to the injury, he posted a 3.00 ERA with 41 strikeouts.[16]
On November 15, 2022, the Orioles selected Johnson's contract and added him to the 40-man roster to protect him from the Rule 5 draft.[18] Johnson was optioned to the Triple-A Norfolk Tides to begin the 2023 season.[19] He made rehab appearances for the rookie–level Florida Complex League Orioles, Single–A Delmarva Shorebirds, High–A Aberdeen IronBirds, and Double–A Bowie Baysox as he continued his recovery from surgery. Johnson was again optioned to Triple–A Norfolk to begin the 2024 season.[20] However, he instead began the campaign with Bowie, and compiled a 2.63 ERA as he was 0-6 with 35 walks and 61 strikeouts over 18 starts.[21][22]
Philadelphia Phillies
On July 30, 2024, the Orioles traded Johnson and pitcher Moisés Chace to the Philadelphia Phillies in exchange for reliever Gregory Soto.[23][22] He was promoted to the major leagues for the first time on September 8.[24][25] In 2+1⁄3 innings in his first major league season he gave up eight hits, three walks, and nine earned runs.[21]
Johnson was optioned to the Triple-A Lehigh Valley IronPigs to begin the 2025 season.[26] He was recalled to Philadelphia on June 1, 2025, after Taijuan Walker was moved to the bullpen.[27] On July 19, Johnson recorded his first career win, allowing one run over one inning of relief against the Los Angeles Angels.[28] Johnson appeared in ten games for the Phillies, going 1-1 with a 4.26 ERA and 17 strikeouts over 12+2⁄3 innings. He pitched in 39 games for Lehigh Valley and went 5-5 with a 4.75 ERA, 67 strikeouts, and 35 walks over 60+2⁄3 innings.[29]
Johnson was again optioned to Triple-A Lehigh Valley to begin the 2026 season.[30] He was recalled on April 18, 2026.[31]