Mohammad,
If you remove a tag after setting a precise order (thus updating the list) but add the tag back immediately it previous position is retained. Perhaps this is a side effect, but its a good one.
The list field could be considered a system field that is used to deliver a particular functionality. If you want to use the list field rather than the tag filters then you could add an additional filter to exclude the items in the list that do not meet a particular condition such as not a tiddler, not a tag, not tagging.
I did look into the mechanism that uses the list field for tag order and it is particular in its implementation and has some gotchas for the nooby.
Regards
Tony