Lakin was born in Solihull where he attended Langley School. He joined Birmingham City's Academy from Walsall's under-nine team, and took up a scholarship with the club in July 2015. In his first season, he featured regularly for Birmingham's under-18 team. Speaking in January 2017, Academy manager Kristjaan Speakman described Lakin as "a left-sided midfielder has played in a more central position for the Under-18s over the course of this season. He has real box-to-box energy. He can be creative with the ball but also really robust defensively." He finished the season with two goals from 13 appearances in the under-23 team, and signed his first professional contract, of one year, at the end of the 2016–17 season. Lakin was a regular in the under-23s in the 2017–18 season, and was one of two players selected to train with UE Cornellà's first team in October 2017 as part of a proposed relationship between Birmingham City and the Spanish Segunda División B club. His involvement with Birmingham's first team increased, and on 27 January 2018, he was given a squad number and included among the substitutes for the FA Cup fourth-round visit to Premier League club Huddersfield Town. He remained unused as Birmingham drew the match, but made his senior debut in the replay ten days later. Use of a fourth substitute during extra time of an FA Cup tie, trialled in the later rounds of the 2016–17 edition, was permitted from the first round in 2017–18. Lakin became the first Birmingham player to be used under that arrangement when he replaced Jason Lowe after 101 minutes with his team already 3–1 down; the match finished as a 4–1 defeat. According to the Birmingham Mail, on his first involvement in the match, "he gathered possession on the edge of his own area, surged through his half and threaded a superb pass to Jota which set Blues away on the counter", showing the "sort of technical ability which has made him such a big hit in his first full season at Under 23 level." Two weeks later, Lakin signed a new contract to run until 2020, with a further one-year option in the club's favour. Lakin made his next appearance in the defeat to Reading in the 2018–19 EFL Cup, and his Football League debut in the next match, replacing Gary Gardner towards the end of a goalless draw at home to Swansea City. His first league start came in a goalless draw away to Sheffield United on 19 September, partnering Gardner in central midfield; the Birmingham Mail marked him 7.5 out of 10, and said he "gave his first pass awaybut that was virtually his last mistake. He was as good without the ball as with it and looks to have given another option in the middle." He was a regular in the matchday squad until the turn of the year, when a thigh injury kept him out of consideration until March 2019, during which time the appearance-based one-year extension to his contract was ratified.
Stevenage
Having made one EFL Cup appearance for Birmingham in 2019–20, Lakin joined EFL League Two club Stevenage on 22 August 2019 on loan for the rest of the season. He went straight into the starting eleven for the league visit to Mansfield Town two days later, and played the whole 90 minutes as the match ended goalless. A thigh injury suffered during his debut kept him out for two months: he returned to action on 26 October in a 1–0 win at home to fellow strugglers Morecambe. He scored his first senior goal on 18 January 2020 to round off a 4–0 win away to Cambridge United. He had made 25 appearances in all competitions by the time the League Two season was first suspended and then ended early because of the COVID-19 pandemic.