St. John was ranked as the fifth best player available in the 2016 CFL draft by the CFL's Central Scouting Bureau.[1] He was the first overall selection in the 2016 CFL draft by the Saskatchewan Roughriders, but he was in a contract dispute with the team at the start of the 2016 season.[2] He finally signed with the team on July 4, 2016 after missing all of training camp and the Roughriders' first game of the season.[3] Over three years with the Roughriders, he dressed in 22 games and started in eight (including six games started in his rookie year) before becoming a free agent in 2019.
On May 19, 2019, St. John signed with the Toronto Argonauts.[4] He was part of the Argonauts' training camp cuts on June 7, 2019.
St. John signed a practice roster agreement with the BC Lions on September 9, 2019.[5] He was released from the practice roster on November 1, 2019.[6]
On November 5, 2019, St. John was added to the practice roster of the Edmonton Eskimos.[6] He dressed in the 2019 East Final for the team and became a free agent on February 11, 2020.[6]
After becoming a free agent, St. John re-signed with the Saskatchewan Roughriders on February 12, 2020.[7] He signed a one-year contract extension with the team on January 6, 2021.[8]
St. John joined the Edmonton Elks as a free agent on February 14, 2023.[9] He became a free agent upon the expiry of his contract on February 13, 2024.[10]