The 29-year-old will join the Eagles on a free transfer when his contract at The Hawthorns officially expires at the end of June.
Johnstone joined the Baggies from Manchester United in a £6.5million deal in 2018.
In total he featured 165 times for the club and was part of the Albion side that won promotion under Slaven Bilic back in 2020.
Johnstone shone in the Premier League the following year with his form seeing him earn three England caps.
Albion had wanted to keep the shot-stopper at The Hawthorns.
But he told the club he wanted to move to the Premier League as he looks to force his way into England’s squad for the World Cup.