Henry joined Walsall at age 11 and progressed through the youth ranks to make his first non-competitive senior appearance for the club shortly after his 16th birthday, in a pre-season friendly against Leeds United in July 2013. One year later, he signed his first professional contract after impressing for the club's youth team. Henry received his maiden calls into the first team squad for two League One matches in September and October 2014 respectively, before making his competitive debut with a start in a Football League Trophy northern area semi-final shootout win over Tranmere Rovers on 9 December. He made his league debut four days later, playing the full 90 minutes of a 3–1 victory over Barnsley. Henry made eight further appearances during the 2014–15 season, but his progress was disrupted by a dislocated shoulder. He signed a two-year contract extension in April 2015 and was named as Walsall's Young Player of the Year. Henry broke into the starting line-up on a full-time basis during the 2015–16 season. He had a successful season, making 44 appearances, scoring three goals, signing a new three-year contract and winning England youth international recognition. Walsall consistently challenged for promotion during the season and finished in third position to qualify for a place in the 2016 League One play-offs, but Henry's season ended with a 6–1 aggregate defeat to the eventually-promoted club Barnsley in the semi-finals. He was recognised for his performances during the season, winning the September 2015Football League Young Player of the Month award, in addition to being named in the League One PFA Team of the Year and receiving a nomination for the Football League Young Player of the Year award. Henry made three early-2016–17 season appearances, before suffering a dislocation to the same shoulder previously injured in February 2015 after half an hour of 0–0 draw with Oldham Athletic on 13 August 2016. The Oldham appearance proved to be Henry's last for Walsall and he departed the Bescot Stadium on 31 August. He made 57 appearances and scored three goals for the club.
Brentford
On 31 August 2016, Henry signed for Championship club Brentford for an initial fee of £1.5m on a five-year contract, rising to £5 million. The transfer reunited Henry with former Walsall manager Dean Smith and the fee made him the Bees' record transfer fee paid for a teenager. He underwent surgery on the dislocated shoulder on 8 September and after returning to fitness, he made his first Brentford appearance on 21 February 2017, with a start in a 2–1 victory over Sheffield Wednesday. He immediately replaced Tom Field as head coach Dean Smith's first-choice left back and made 12 appearances before his season was ended by a knee injury suffered in training in early May 2017. Henry returned fit for the start of the 2017–18 season, but his season was ended on his eighth appearance by a serious knee injury suffered in a 2–2 draw with Middlesbrough on 30 September 2017. Henry returned to full-contact training in October 2018 and on 24 November, he made his first appearance for nearly 14 months, coincidentally against Middlesbrough, with a late substitute appearance in a 2–1 defeat. He scored his first goal for the club in a 3–1 win over Stoke City on 12 January 2019 and his performances throughout the month led to his nomination for the PFA Fans' Player of the Month award. A foot injury suffered in February saw Henry miss two months of the season and he finished an injury-affected campaign with 16 appearances and one goal. He began the 2019–20 season fully fit and signed a new four-year contract in August 2019.
International career
On 10 November 2015, Henry received his first call-up to the England U19 squad for friendly matches against the Netherlands and Japan. He won four caps at U19 level. Henry was named in England's U20 squad for the 2017 Four Nations Tournament and appeared in all three matches as the Young Lions won the competition. Henry was named in the England squad for the 2017 U20 World Cup, but was forced to withdraw due to injury.