Wie hole ich Themen, sortiert nach dem Wert des benutzerdefinierten Feldes iso8601?

Du solltest dies ändern in:

.order("COALESCE(CAST(custom_fields.value AS timestamp), custom_fields.value) DESC")

für bessere Lesbarkeit.

Du sortierst nach sortDate, und wenn dieser fehlt, verwendest du createdAt. Alles in absteigender Reihenfolge. Die Abfrage gibt die Daten genau so zurück, wie angefordert, da 2020 „größer