Remaining time seems to be based on the average speed since the upload start.
This means that if it was slow in the beginning and then speeds up, the remaining time shown will be wrong until the end.
The remaining time should be based on the last x seconds instead of the total elapsed time.
See getRemainingTime in https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/UploadWizard/+/refs/heads/master/resources/mw.GroupProgressBar.js#164