Johnson played at Houston from 2014 to 2018. He spent his first two years as a wide receiver before switching to cornerback prior to his junior year in 2017.[1][2] During his two years as a receiver, he had 21 receptions for 208 yards.[3] In his two years as a cornerback, he had 115 tackles and four interceptions.[4][5]
Johnson was drafted by the Oakland Raiders in the fourth round (129th overall) of the 2019 NFL draft.[7] He was placed on injured reserve on September 2, 2019.[8] He was designated for return and began practicing again on October 14.[9] He was activated on November 4.[10]
On November 8, 2020, Johnson forced two incomplete passes on the last two plays of the game to seal the team's 31–26 win over the Los Angeles Chargers.[11] In Week 10 against the Denver Broncos, Johnson was ejected from the game after punching Broncos' wide receiver Tim Patrick after Patrick punched Johnson's teammate Johnathan Abram.[12] He was placed on the reserve/COVID-19 list by the team on November 18,[13] and activated three days later.[14] He was placed back on the COVID-19 list on December 19, 2020,[15] and activated on December 23.[16]
On August 31, 2021, Johnson was waived by the Raiders.[17]
On December 14, 2021, Johnson was signed to the Pittsburgh Steelers practice squad.[19] He was released on December 20.
Arizona Cardinals
On December 29, 2021, Johnson was signed to the Arizona Cardinals practice squad. He was released on January 4, 2022.[20]
Pittsburgh Steelers (second stint)
On January 19, 2022, Johnson signed a reserve/future contract with the Steelers.[21] He was waived/injured on May 10, 2022, and placed on injured reserve.[22] He was released with an injury settlement on June 10, 2022.
DC Defenders
On April 5, 2023, Johnson signed with the DC Defenders of the XFL.[23] He was placed on the team's reserve list on April 25, and activated on May 16.[23]