Many thanks to @jmztaylorand @Monteromanfor helping test this new IOMMU mode, they are using different affected servers, one Lenovo X3100 and one HP Microserver G8, with both it was very easy to trigger the DMAR errors by starting a parity check, errors would start repeating after just a few seconds, e.g:
With the Lenovo before this release:
Jun 7 10:09:41 Tower kernel: md: recovery thread: check P ...
Jun 7 10:09:44 Tower kernel: DMAR: ERROR: DMA PTE for vPFN 0xb0780 already set (to b0780003 not 17594b803)
Jun 7 10:09:44 Tower kernel: ------------[ cut here ]------------
Jun 7 10:09:44 Tower kernel: WARNING: CPU: 4 PID: 6907 at drivers/iommu/intel/iommu.c:2336 __domain_mapping+0x2e3/0x362
With the HP:
May 19 06:56:40 Tower kernel: md: recovery thread: check P ...
May 19 06:56:56 Tower kernel: DMAR: ERROR: DMA PTE for vPFN 0xb5f80 already set (to b5f80003 not 1636f4803)
May 19 06:56:56 Tower kernel: ------------[ cut here ]------------
May 19 06:56:56 Tower kernel: WARNING: CPU: 2 PID: 5826 at drivers/iommu/intel/iommu.c:2408 __domain_mapping+0x2e5/0x390
With the new release both ran a parity check for over 10 minutes with VT-d enabled and no signs of any errors, I'm confident this solves the DMAR/corruption issues for all affected platforms, as a bonus this IOMMU pass-through mode can apparently have better performance, some Linux distros have already switched to using it by default.
Main kudos go to LT's @eschultz, he's the one that came up with the solution, also found the doc below with some more info about this mode for anyone interested:
https://lenovopress.lenovo.com/lp1467.pdf
P.S. this will also fix the bzimage checksum error many Dell server users were experiencing during boot after updating to v6.10.x, the fix for that was also using iommu=pt, and probably what saved some of those servers from experiencing the DMAR/corruption problem.