По ид не подойдет все по той же причине, когда будет в черновиках запись с ид 1 могут появиться записи 2 и 3 и в итоге запись с ид 1 будет выведена последней, а не первой.
А вот на счет created_at я уже тоже подумал, что бы ставить ее только тогда, когда статус будет выставлен "опубликовано" и держать например null пока статус "черновик".