Since the currency-conversion requirement is something enforced/required by your specific payment module/gateway, I recommend putting code into the payment module itself to handle the conversion during submission. That way the customer still sees the checkout in their own currency and you don't need to interfere with normal currency handling otherwise.

Here's how it's done in the Authorize.net AIM module: https://github.com/zencart/zencart/b....php#L396-L403
Obviously you'll need to adjust the specifics for however your gateway prepares its fields for transmission, but this shows you the basics of the calculation logic.