This is what I see with debug on.
With ASC:
SELECT S.created_on
FROM t_orders AS A
LEFT JOIN t_source_zipped AS S ON S.order_id = A.id
WHERE A.deleted_on IS NULL AND A.id = :P3 /* XXXX */ AND S.created_on IS NOT NULL
ORDER BY A.created_on ASC
With DESC
SELECT S.created_on
FROM t_orders AS A
LEFT JOIN t_source_zipped AS S ON S.order_id = A.id
WHERE A.deleted_on IS NULL AND A.id = :P3 /* XXXX */ AND S.created_on IS NOT NULL
ORDER BY A.created_on DESC
The debug json is returning dir: "asc"
for both, and the output is sorted in DESC order in both cases here.
NOTE: When I wrote the original post, the query was always sorting in ASC order.