If I upload one file and it fails to upload Uppy does not emit a core:success event.
If I upload two files (one of which fails and one succeeds then it emits a core:success) event.
I would suggest that the core:success event fires at the end of the upload attempt, regardless of whether the files failed to upload or not. It's difficult having an inconsistency and knowing when the upload attempt has actually finished.