It's possible to lock ecash to a pubkey and add signature proofs, to solve this problem. The sender would need to get the pubkey from the receiver first though, which is worse UX.
Receiver can also just redeem after tap, and finalize the transaction after redemption
Receiver can also just redeem after tap, and finalize the transaction after redemption