This is exactly the same as clicking cancel and send coins again. Usually this gets the same fee but it's not guearanteed 100%.

This also builds the transaction twice, which for large wallets may cause some delay.

The "perfect" way would be to build the transaction (but not sign it), determine the fee and only then show the confirmation dialog. If confirmed, send exactly this transaction. But this would require some back/forth signalling in WalletModel:sendCoins.