I'm the author of the spec issue this blog post is based on: https://github.com/matrix-org/matrix-spec/issues/852
In my implementation for the Conduit Matrix server, the /sync order is used for everything. The timeline is just one list that grows on one end for incoming events and on the other end for backfilled events.
I think it's important that the message order does not change, because that's very difficult to communicate to the user.