Tendrías que desnormalizar un poco y copiar el campo posts.created_at en la tabla post_tags (lo llamé post_created_at, podrías nombrarlo como quieras):
CREATE TABLE `posts_tags` (
`id` int(11) NOT NULL auto_increment,
`post_id` int(11) default NULL,
`tag_id` int(11) default NULL,
`post_created_at` datetime default NULL,
`created_at` datetime default NULL,
`updated_at` datetime default NULL,
PRIMARY KEY (`id`),
KEY `index_posts_tags_on_post_id_and_tag_id` (`post_id`,`tag_id`)
) ENGINE=InnoDB;
y luego agregue un índice a posts_tags en
(tag_id, post_created_at)
Eso permitirá que la consulta obtenga todas las publicaciones para una etiqueta, en el orden correcto, sin clasificación de archivos.