Your commits are built out of order.
Builds are not queued and instead, are executed in parallel, they also don't check on the order of the commit. Multiple concurrent builds will normally be in a last write wins situation, meaning the last to finish will be the last deployed. This means that with extremely close commits & auto deploys, your commits may be built out of your expected order.
There will always be fluctuations in build time due to dyno loads and network conditions, so it's possible you'd see this anytime there are multiple pushes in a short period.
Unfortunately, this would currently need to be accounted for in your development processes, for example, disabling auto-deploys and triggering deploys in another way if you expect multiple close commits to be a common occurrence.