Johnson made his first-team debut for Oxford United at the age of sixteen, coming on as a 76th-minute substitute for Marcus McGuane in an EFL Cup first round tie at Burton Albion, and provided a pass to Anthony Forde that led to an Oxford goal.
[4] On 23 August 2022, he started in a 2–0 defeat to Crystal Palace in an EFL Cup game at the Kassam Stadium; he said he enjoyed the match and thought the team supported him well.
[5] He signed his first professional two-year contract with the club the following month, describing it as a "dream come true".
[7] On 21 October, Johnson joined National League South club Dartford on a one-month loan.
On 24 February 2024, Johnson joined Banbury United on loan, where he made five appearances.