Ajay,
I am not saying a 5s timeout is a worst case number that will cover every possible scenario. It depends on a lot of settings. If you have ACK retries enabled, that will obviously affect how long your timeout should be as the Dot can make multiple attempts (each with its own RX1 and RX2 windows) before giving up. Also ADR, like you mentioned, may change the datarate. You can use the Dot library to estimate time on air with different datarate settings and payload sizes.
You will have to analyze your settings and determine what the maximum timeout is based on those settings. I can’t provide you with a “magic number” for your timeout.
Hope this helps!
Cheers,
Mike