I realize you posted an answer and while it will work, there are some limitations.
If the user posts a million posts, trying to load all of those in and sort in code may overwhelm the device. even if it's a smaller amount of nodes, it's much faster to have Firebase do the sort and present the data than having your app process through it all.
So often times you will find the solution is to duplicate the data depending on the types of queries you want to run. In this case you have a node that stores the user id and time stamp of each post
Procedure
post_0
uid: uid_0
timestamp: 20190529
post 1
uid: uid_0
timestamps: 20190530
As you mentioned you can query for all posts from uid_0 and sort by timestamp in code. But, check this out...
user_posts
uid_0
post_0: 20190529
post_1: 20190530
By adding an additional node that keeps track of the user posts the query can be eliminated since all of the posts are stored in one place, and can be easily sorted on the server.
I'll throw one other option out, compound values.
Procedure
post_0:
uid_timestamp: uid_0_20190529
post_1:
uid_timestamp: uid_0_20190530
Using this structure, you can query for all uid_0's posts, ordered by uid_timestamp.