As a sibling noted, messages on the receivers end are time-stamped with the receive time, not the send time.
To your specific suggestion, how do you identify if the messages arrived late because of a server-side issue, rather than a client-side, network disconnect, or some other non-infra issue?
Anyway, while I'm sure there's myriad ways that the authors of this app could have engineered it to be more resilient, self-reporting, etc - it's clear that they did not.