Although it looks like in my comment I am saying for data to be gathered in a DMA buffer, actually, it isn’t that. And that’s why I used the word ‘DMA’ and not ‘DMA buffer’. And you are right, data will be sent to memory only from i/o devices but using a "DMA module’.
The disk controller buffer has the data and as soon as DMA requests transfer to memory, the data is transferred. So upon the request of DMA to transfer data to memory, data is transferred. So from this statement, it might feel like DMA is storing the data, but actually, the data is present in the buffer of the disk controller and not in the data register of the DMA controller.
REF. → Direct Memory Access
Thanks for mentioning me in your comment; it helped me to revisit the topic.