Despite a positive performance, Albion fell to defeat in their opening Premier League fixture of the 2020/21 campaign.
Second-half goals in the form of a Timothy Castagne header and two Jamie Vardy penalties ensured Leicester left The Hawthorns with all three points.
Slaven Bilić’s Baggies had a handful of chances, but were punished late on.
Bilić set his side up in a new-look 3-4-3 formation; Johnstone started in goal, Dara O’Shea, Semi Ajayi and Kyle Bartley made up a back three, while Darnell Furlong and Kieran Gibbs played on the wings.
Romaine Sawyers and Jake Livermore took the task of controlling the centre of the park, while up front, Grady Diangana and Matheus Pereira flanked Callum Robinson.
The Baggies started brightly, with an eagerness to press and forced a number of errors from the Foxes, including a panicked passback from Wilfred Ndidi which gifted Albion a corner.
An early promising attack from the home side saw Diangana slip Robinson into the box. His dangerous cross ran through to Furlong, but he could only put it back across the face of goal by the time he met the ball.
But still, Bilić’s men continued to impress. A sublime Johnstone kick found Furlong on the edge of the Leicester box, and he was brought down by James Justin, earning the Foxes full-back a booking in the process as Albion gained a free-kick in Pereira territory - however the Leicester wall managed to divert it wide.
The Brazilian would have another opportunity shortly after. He controlled a slashed Çaglar Söyüncü clearance on his chest and lashed goalwards, but his effort rose over the bar.
Just before the half-hour mark, the visitors had their best spell of the game to-date, culminating in two powerful saves on two separate occasions from Johnstone in the Albion net to deal with both goal-bound strikes from former Baggies loanee Harvey Barnes.
Just before the break, Livermore split Leicester’s backline in two, playing Pereira into space in the box. The Brazilian Baggie fizzed a ball across the face of the Foxes goal, but Kaspar Schmeichel cleared to Robinson, who was judged to have handled as he attempted to bring the ball down.
After the interval, Leicester took the lead.
Dennis Praet lofted a cross into the Albion box and Timothy Castagne rose highest to head the visitors ahead.
Ayoze Pérez thought he had doubled Leicester’s lead moments later, when he turned in a deflected Barnes strike from close range, but the flag was up for offside.
Youri Tielemans was the next Foxes player to go close, with a long-range free-kick which Johnstone pushed over the bar.
As the game pushed past the hour mark and with Albion still trailing by a goal, Bilić rolled the dice throwing Robson-Kanu on for Robinson, with Academy graduates Rekeem Harper and Kyle Edwards entering the action shortly after in place of Sawyers and Furlong.
With just less than 20 minutes to play, Leicester were awarded a penalty. Barnes raced through on goal and despite Johnstone making a save, the referee pointed to the spot for a foul on Vardy by Bartley. The visitors’ No.9 tucked into the corner on 74 to double their advantage.
Vardy scored a second penalty to secure the points on 84 after O’Shea fouled Justin in the box.
ALBION: Johnstone; O’Shea, Ajayi, Bartley; Furlong (Harper 68), Livermore, Sawyers (Edwards 68), Gibbs; Diangana, Robinson (Robson-Kanu 60), Pereira.
Substitutes: Button, Hegazi, Grosicki, Austin.