One more data point: at work we use Stripe for most regions [1], but in our largest region (South Africa) we have to use Paystack [2] (a Stripe subsidiary). The API isn't 1:1 compatible and there's no plans to do so in the near future. Having multiple providers is a must for us to consider a solution.
Lago is better in that they have have support for custom payment integrations [3].
[2] https://paystack.com/stripe/south-africa
[3] https://getlago.com/docs/integrations/payments/custom-paymen...
It just turns out that most of our users are only really interested in using Stripe at the early stage, so for now our codebase is closely embedded into their billing product.
It's going to be fun(?) ripping all of it out and moving towards a PSP agnostic architecture you mentioned.