Hi Sjors,
The Ledger Bitcoin app uses PSBTv2 since version 2.0.0 in 2021 [0], quite possibly the first adopter - although for somewhat unusual reasons.
Working with embedded devices with just a few kb of RAM, even sending the entire PSBT is not generally feasible.
Therefore, the client instead sends a 'merkleized' commitment to the entire PSBT at the beginning of the signing process.
This enables the device to obtain random access to the PSBT by querying the client (who provides the data - and the Merkle proof - on demand).
In PsbtV0, the unsigned transaction is a binary blob, which was a huge headache because the device had to parse it while streaming it (and therefore, no RAM access to the individual transaction fields is possible).
PsbtV2 fixed this by having the transaction already 'parsed' into individual fields.
The companion client libraries of the Ledger Bitcoin app support both versions, and PsbtV0 is converted to PsbtV2 on the fly.
Broader support would certainly be useful.