LedgerHQ has laid the foundation for a PSBTv2 library, but it currently lacks some features and has issues with de/serialization. A complete Psbtv2 class can be found in my fork.
It is suggested to use PSBTv0 for all operations and only convert to v2 when communicating with the Ledger device. This can be achieved through utilizing BitcoinJS's excellent PSBTv0 library and utilizing an adapter function from v0 -> v2.
For exmaple if your're working with p2sh(p2wsh) script types, you might have something like:
export function convertPsbtv0ToV2(psbtv0: Psbt): PsbtV2 {
const psbtv2 = new PsbtV2()