Apart from the fact that the cache needs to be invalidated before/after a DMA transfer to ensure cache coherency (automatically or not, depends on platform), DMA allocations have no problem with caches.
I am suggesting that the author conflated "DMA allocation" with "write-combined allocation".