This is actually a very complex topic, but in general it likely works this way. The orders are typically picked in "waves," of say 500 at a time released to the warehouse floor. They will want to pick the Prime and Paid for Shipping orders first, as a matter of policy, so they will be released first. If there are not 500 Paid orders available for the wave, they will fill in with the oldest Free Shipping orders to reach 500. If there are more than 500, your Free Shipping order sits until the next wave is released. Say they release a wave to the floor every hour (hypothetically), during that hour new Shipping Paid orders are accumulating, so for the next wave it is a crapshoot once again.
But their software will have an "ageing" checker that will push your Free Shipping order into a wave if it is such-and-such old (maybe 2-3 days). So you are not delayed forever, and you may get lucky, depending on when your order hits. An oversimplification, but pretty much how it probably works. Hope this makes some sense.
Cheers,
Bob
I measure three times and still mess it up.