Using a seqscan to retrieve half of the entries in a table is not a bug,
it is correct behavior.
Your test case might make you think otherwise, but that's because your
test data is artificially well-ordered. Try the two methods with the
same data loaded in a random order ...
regards, tom lane