How to ensure SubscribeToStreamFrom fires EventAppeared in the order it was received?

What does this have to do with event stored?

You seem to receive them in order. You then call off into your own code that handles them out of order. If you just called them synchronously they would be in order.