Charged +10% by ATM in Barcelona!

That was your mistake, and the problem is not unique to Revolut. If you see an exchange rate, then you can’t be withdrawing EUR from a EUR balance. You are authorising some kind of conversion.

See Option to disable GBP transactions to block dynamic currency conversion - #57 by capital