There are lots of legal reasons for this. To be able to settle in a currency, you must have an acquirer that can accomplish that (ie, they have a bank account there). And then next, the Stripe and you will likely need to setup a local entity to have a bank account that can take the money. This then exposes them to more regulation from that country.
A processor just doing cross currency and settling in a few countries is much easier to do.
Stripe can certainly take USD - and my local (Australian) bank certainly accepts USD, as I have a USD bank account with them.
But I'd cut them more slack if they didn't sting me for currency conversion as well.
A processor just doing cross currency and settling in a few countries is much easier to do.