Hello @Hitesh Agarwal,
welcome to this moderated Azure community forum.
The Azure IoT Hub is a PaaS service for ingesting telemetry from many devices, each having its own identity.
Incoming messages are routed to other Azure services via either the 'eventhub compatible' endpoint, the more advanced routes (including message enrichment), or the connection via an EventGrid.
Incoming messages are stored up to 7 day before deletion, depending on the configuration.
This storage is handled by the IoT hub itself so its not documented how the internal storage works.
Personally, I expect a combination of Azure storage queue, blobs or tables. But with the availability of Azure Data Explorer this could be an option too.
I have not tested this recently but reading back older messages seems to be reliable.
You can test it eg. using the Azure Stream Analytics job custom start time:
This should work fine with an Azure IoT Hub input.
If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.