Curve is charging your underlying card in GBP and doesn’t even know how much your underlying card is charging you in EUR. Also the refund will be done by Curve in GBP and again Curve does not have a clue how much EUR you will be given by your underlying card.
I had thought GBiT worked like a normal refund, i.e. for e.g. if you bought something in Fx and then cancelled the purchase, the transaction is voided and the refund amount (GBP => EUR) will match the charged amount. I’ve seen this with other cards.
Curve doesn’t void the transaction on the 1st card. It credits a payment of the original charged amount instead, and hence the rates can be different.
May I ask why you chose for this setting?
My underlying card is also a Mastercard and hence the conversion rate should ideally be the same. The reason I did it this was was because Curve Blue does the currency conversion for free upto a specified ceiling only.
Curve Blue (free product): 0% fee on spend in over 150+ foreign currencies worldwide of up to £500 per rolling month, with a 2% foreign exchange fee after that. ATM withdrawals are free up to £200 per rolling month, after which there will be a charge per extraction of £2 or 2%, whichever is higher.