Does PostgreSQL always sequentially scan pages in the same order?
If multiple processes are trying to seq scan the same table, it will try to line them all up so that all read the same pages at about the same time, to maximize cache hits.  It does this by having the late comers start in the middle (where ever the existing ones happen to be at), and wrap around the end to finish the table at the page before where it started.  A side effect of this is that if one seq scan stops early, the next one will start up on the same page where the last one stopped.  So if the entire LIMIT can be satisfied by rows from one page, a scan like yours will just scan the same page over and over.
You can turn this optimization off with set synchronize_seqscans=off, then they all start from the first block in the table.