I trawled through the first, larger dump you sent me, and found multiple
index entries pointing to quite a few heap tuples:
Occurrences block item
2 43961 12 43961 22 43961 32 43961 42 43961 52 43961 62
43961 72 43961 82 43961 92 119695 12 119695 22 119695 32
126029 12 126029 22 126029 32 166694 12 166865 12 166865 22
166865 32 166865 42 166865 52 166865 62 166865 72 206221 12
247123 12 327775 12 327775 22 327775 32 327775 42 327775 52
327775 62 327775 72 327775 82 327775 92 327775 102 327775 11
Both indexes show identical sets of duplicates, which makes it pretty
hard to credit that it's a within-index problem.
You mentioned that the test had been allowed to run for a good while
after the first slave error was noted. So it seems there's no question
that we are looking at some mechanism that allows the first few entries
on a heap page to be lost and overwritten :-(, and that this happened
several times over the course of the larger run.
regards, tom lane