West Brom won 1-0 on the night at the Hawthorns to level the tie at 2-2 on aggregate thanks to Craig Dawson's first-half header.
However, the Baggies' hopes of an immediate return to the top-flight were dented when captain Chris Brunt was sent off 10 minutes from the end of normal time.
The hosts held out manfully during extra-time, but Villa goalkeeper Jed Steer saved West Brom's first two penalties of the shootout from Mason Holgate and Ahmed Hegazi.
"There's obviously a lot of luck involved but wow," Steer told Sky Sports. "We practise penalties, so I think I must've faced a 100 a day the last few days."
Conor Hourihane, Mile Jedinak, Jack Grealish and Tammy Abraham kept their cool from the spot as Villa set up a May 27 Wembley meeting with Leeds or Derby for a lucrative place in the Premier League.
Marcelo Bielsa's Leeds hold a 1-0 first-leg lead over Frank Lampard's Rams ahead of the second leg at Elland Road on Wednesday.
Villa missed out in the playoff final last year, losing 1-0 to Fulham and Grealish, who has been linked with a summer move to Tottenham, is keen to make amends in what could be his final game for the club.
"The crowd made it tough with the atmosphere but in the end I felt we ran out worthy winners," said the midfielder.
"It’s no good getting to Wembley and falling at the final hurdle again, so fingers crossed. All of us are very hungry."