PartiallySignedTransaction::AddInput clears partial_sigs, final_script_sig and final_script_witness of the input it adds, because the transaction is about to change and those signatures would no longer be valid. The Taproot key and script signatures and the MuSig2 pubnonces and partial signatures were left in place, so joinpsbts handed back inputs carrying signatures for the old transaction.
They are cleared in the same place now.
The functional test joins two PSBTs with signed Taproot inputs: before the change the joined inputs still have taproot_key_path_sig, after it they don't, and the wallet can sign the joined PSBT. It fails on master at that assertion. rpc_psbt.py and the psbt unit tests pass.