walletprocesspsbt
says that the sighashtype argument will only be used “if not specified by the PSBT” and CWallet::FillPSBT
in wallet/wallet.h says the same thing. This changes FillPSBT to actually behave that way, and as a result removes the SIGHASH_MISMATCH error code.