Transfer do Leicester 3 sierpnia 2016 Kapustka podpisał pięcioletni kontrakt z ówczesnym mistrzem Anglii, Leicester City. Zadebiutował 7 stycznia 2017 w wygranym 2:1 meczu trzeciej rundy Pucharu Anglii z Evertonem. Ogółem rozegrał dla tego klubu trzy spotkania w rozgrywkach Pucharu Anglii – przeciwko Evertonowi, Derby County oraz Millwall – a także 19 meczów w drużynie U-23. Ośmiokrotnie znalazł się w kadrze meczowej na spotkania Premier League, jednak nie zadebiutował w tej lidze.
14 lipca 2017 został wypożyczony na rok do niemieckiego klubu SC Freiburg. W nowym zespole zadebiutował 12 sierpnia 2017 w meczu I rundy Pucharu Niemiec przeciwko Germanii Halberstadt. 17 września 2017, wchodząc na boisko na ostatnie 22 minuty spotkania z Bayerem 04 Leverkusen (0:4) zadebiutował w Bundeslidze, natomiast 18 listopada 2017 w meczu z VfL Wolfsburg zdobył swoją jedyną bramkę w tej lidze.
31 sierpnia 2018 został wypożyczony na rok do belgijskiego drugoligowego klubu Oud-Heverlee Leuven. 15 września zadebiutował w ligowym meczu z AFC Tubize, natomiast 30 września, w meczu z Saint-Gilloise, zaliczył premierowe trafienie dla klubu.