What is “best” will depend on the speed of the SPI bus. For 4 bytes, the DMA is likely excess overhead. For a fast bus, a spin wait may be reasonable (if the transfer will take less than two scheduling operations), and for a slower one, since the FIFO should be long enough, use a transfer complete interrupt to read the 4 bytes.