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.[3] He played three further cup games in the 2021–22 campaign.[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".[6] Manager Karl Robinson hailed him as a "terrific prospect".[7]