Eu não consegui encontrar nenhum método nativo de dividir o grupo IOMMU: se ele é divisível, ele será dividido na inicialização
No entanto, há um patch que substitui o canal do IOMMU
este tópico irá levá-lo a este patch que é construído com sucesso contra o kernel 4.8 que vem com o Ubuntu 16.10 por padrão.
Após aplicar este patch e criar o novo kernel, meus grupos IOMMU foram divididos e o repasse funciona como eu quero. Note que é possível vazar DMA's através de dispositivos em teoria, mas eu nunca ouvi falar disso acontecendo e funciona perfeitamente para mim.