Johnson took over the White Sox shortstop job from the recently banned Swede Risberg in 1921. He hit .295 and was fourth in the American League with 22 stolen bases. In 1922 his batting average dropped to .254 and he had the dubious distinction of leading the league in outs (494).
He was acquired by the Yankees via waivers on May 31, 1923, and he batted .447 for them in a limited role. He played in two games of the 1923 World Series against the New York Giants and scored the series-deciding run as a pinch runner in game number six. Johnson spent the next two years with New York in a part-time role, batting .353 and .282. On October 28, 1925, at age 37, Johnson was sent to the St. Paul Saints of the American Association as part of a multi-player trade.