Если вы знаете, как перетасовывать данные (сообщения в вашем случае) через Список, не будет проблемой, если вы просто добавите записи в Список (или Список всего, что вам нужно), а затем перетасуете их.
Вот как вы можете добавить их в список.
List<String> posts = [];
userDocs.documents.forEach(
(post){
posts.add(Post.fromFirestore(post));
}
);
Я предполагаю, что у вас есть функция Factory в вашем классе Post, где вы можете конвертировать данные из динамического c в свой класс желаемая структура.