Since taproot signatures sign over all amounts in the spent transaction, taproot inputs must require PSBT_IN_NON_WITNESS_UTXO to be always present. The only exclusion is SIGHASH_ANYONECANPAY, where PSBT_IN_WITNESS_UTXO may be enough.
I also propose to consider changing names of PSBT_IN_NON_WITNESS_UTXO and PSBT_IN_WITNESS_UTXO in all three PSBT standards to PSBT_IN_SPENT_FULL_TX and PSBT_IN_SPENT_UTXO