stash@{0}
is the most recent (newest) stash, stash@{1}
is "one older", stash@{2}
is even older. The oldest stash is the stash with the highest number.
That's how Git defines it, there is no "how"; Quote from the docs
e.g.
stash@{0}
is the most recently created stash,stash@{1}
is the one before it,stash@{2.hours.ago}
is also possible