It is due to how the card schemes (MasterCard, Visa etc) work.
The initial presentment is effectively checking availability of funds and ring fencing an amount for the merchant to later be able to withdraw from your card.
Then they later send a final demand for these funds which may be a few hours, days or weeks later, and obviously the exchange rate will differ between those dates.
However it can get more complex as some merchants cancel the initial demand when the final demand is submitted, but others don’t bother cancelling the original one and just leave it on the system for it to cancel and drop off an account due to time limits. This is more common in USA than UK, and makes it look for a while that they have taken twice the amount when they haven’t.
With most currencies such as EUR or CHF a merchant charges in that currency and it gets converted to GBP, and if you book a car or hotel the deposit will be in that local currency. However in some countries like Japan, they do an initial authorisation to block or reserve funds that may be in USD and appear on your statement converted to GBP yet the ultimate transaction put thru as JPY and converted to GBP by the bank. So a purchase may have entries in 3 currencies, e.g. USD, JPY and GBP!
This is an oversimplification, as there are many more intricacies to the card scheme on how transactions are processed, transaction processing timescales, merchant liability, etc from one region of the world to another and different rules for different industries such as public transport, pay at pump “Automated Fuel Dispensers”, gambling, etc.
However hopefully it gives you a flavour for some of the issues involved when fintechs display data instantly, despite it only being provisional and subject to change.
In the old days when paper statements were issued every month or quarter any of these issues were not apparent as any transaction would have already been finalised before the statement issued.