Previous UTXO validation for sender
bitcoin/bips#1396 allowed the UTXO data to be left in the transaction.
the main rationale is that removing this data goes against the BIP 174, so implementations rightfully make that difficult.
BIP 78 does not really specify what to do in case the receiver modifies the outpoints and/or the previous UTXOs:
* For each input in the proposal:
** Verify that no keypaths are in the PSBT input
** Verify that no partial signature has been filled
** If it is one of the sender's inputs:
*** Verify that input's sequence is unchanged.
*** Verify the PSBT input is not finalized
** If it is one of the receiver's inputs:
*** Verify the PSBT input is finalized
*** Verify that <code>non_witness_utxo</code> or <code>witness_utxo</code> are filled in.
** Verify that the payjoin proposal inputs all specify the same sequence value.
** Verify that the payjoin proposal did not introduce mixed input's type.
** Verify that all of sender's inputs from the original PSBT are in the proposal.
Previously re-adding the UTXO was the sender's responsibility, which implied recognizing this input was intended to be used, but we should clarify that the sender should validate that the outpoints are unchanged (in both BIP 78 and 77?).
If the receiver modifies the previous UTXOs and but leaves the outpoints intact, then in some cases (e.g. taproot signatures, or if the amount/script is modified segwit signatures) this will invalidate the transaction, even if the sender manages to somehow produce a signature.