Ah, note that the TTN Tool actually shows the time on air. I still need to submit a bug fix for that, but some details in a post in “Spreadsheet for LoRa airtime calculation”.
And then your server can calculate that, and subtract it from the receive timestamp; no need for the client to keep track, unless it’s not sending the data immediately?