Cuando usas UNION, no puedes poner un ORDER BY así nomás, donde quieras, porque el ORDER BY final es el que imapcta sobre todo el resultado.
Ni tampoco podrías poner UNION, sino que debes usar UNION ALL.
Para lograr cosas tan enredadas hay que usar formas de cisulta sy subconsultas algo complejas.
Ten bien presente que NO PUEDES poner un ORDER BY al final de esta consulta, porque reordenará todo el resultado.
Todos estos detalles salen del manual de referencia. tenlo presente.