USB packets may get "lost" in the sense, that the recipient might see garbled data. That is actually easy to achieve. If it is isochronous data - it is lost, no retries. Any other transfer type - it is retried until acknowledge.
What is held in the transmitting endpoint buffer is most likely not changing during the retry period. And of course, when USB host hardware receives some data, the time it takes to finally reach the application (and in this context, the HID, in between) depends on OS load, driver quality, etc.