Have you tried using the _Cellular_TimeoutAtcmdDataRecvRequestWithCallback
API?
You can see the example usage of that API in the implementation of Cellular_SocketRecv
API for BG96: FreeRTOS-Cellular-Interface/modules/bg96/cellular_bg96_api.c at e173977bc8548d8720b3adda566a609910cd8bcf · FreeRTOS/FreeRTOS-Cellular-Interface · GitHub
The pktDataPrefixCallback
callback function is required to indicate the data start address and data length, along with returning CELLULAR_PKT_STATUS_SIZE_MISMATCH
until required raw data bytes are received.
You can refer a similar thread here for more data.