But what about index-only scans, which GiST also supports? I think
that the rules are different there, even though index-only scans use
an MVCC snapshot.
Let's enumerate steps how things can go wrong.
Backend1: Index-Only scan returns tid and xs_hitup with index_tuple1 on index_page1 pointing to heap_tuple1 on page1
Backend2: Remove index_tuple1 and heap_tuple1