The idea of splitting off payment plans into its own abstraction is super interesting. Personally I would really like if the abstraction layer also was independent of the payments processor, currently it seems heavily dependent on Stripe. Even though I currently use Stripe I find them to be untrustworthy and don't want anything that ties me to them even further. And more generally, using a platform built on top of a SaaS is a recipe for future headaches.
Agreed on not becoming too dependent on Stripe. Billing (or in this case, pricing) is the last thing you want under another entity's control.

There is surprisingly little in the OSS space around this, but I can recommend KillBill (no affiliation). Although it is one component that does combine billing and pricing model, they are separate abstractions within KillBill, that provide the exact benefits the article describes (the ability to quickly iterate on pricing model). Stripe and co. are relegated to simply processing payments when they are due, which avoids the lockin of their value-add services. I'd love to see more in this space but honestly KillBill is the most rounded that I've found.

I haven't used any of these tools, but I'm starting to explore them. The other one I found was https://github.com/getlago/lago