Data point: 10 1/2-year-old, 100k (lots of city driving) miles 2015 forester, parked outside its entire life, and factory TPMS sensors were all fine.
I just got new tires at costco. At 10.5 years, I was approaching maximum expected tpms battery life, and given I do not expect to own vehicle more than four to five more years, I had costco swap in new sensors. It was $44.99 per sensor. No charge for installation and programming (normally $16/wheel) with sensors bought at costco along with new tires. Costco has no issues with their TPMS working with subaru and mine are working fine. I also saved $12 fee they charge for stem rebuild kit they mandate if you are not replacing full sensors.
I considered buying shraders online but everyone wanted >$16 per wheel to install and program. And since people reports costco ones lasting >5 years, for me it was better to go with costco's than either Schrader or oem