Why does Core include a lot/all addresses in a PSBT, but only the needed one at the beginning?
If you run that through
bitcoin-cli decodepsbt, do you have several entries inside the "input", "output" or "unknown" fields?
{
"tx": {
...
},
"unknown": {
<--- check how big this field is
},
"inputs": [
{
<--- check how big this field is
}
],
"outputs": [
{
<--- check how big this field is
}
]
}
If the new transaction is particularly large, as in has a lot of inputs/outputs, maybe that "leaked" over to the corresponding inputs and outputs fields (not vin/vout).