You're right. Or almost. Using the $tags attribute with list-ops ends up sorting the list. Add tag "abc" to see the sorting.
But if you set it up this way:
<$action-listops $tiddler=<<currentTiddler>> $field="tags" $subfilter="+[prepend[done]]" />
the it will prepend "done", and if you do it this way:
<$action-listops $tiddler=<<currentTiddler>> $field="tags" $subfilter="+[append[done]]" />
it will append "done".
So I guess using "$tags" has a "feature" that the result always gets sorted.