(#3136) - fix changes() when earlier winning seq

In the previous version of the changes() algorithm,
we were assuming that the winning seq was later than
all non-winning seqs, which isn't necessarily the case
when you've got conflicts. This fixes that.
moved the `doc_ids` checking logic earlier for perf