gapIndices
Gap bucket indices strictly between the two instants' buckets, emitted in stream direction. The stream is lazy: callers facing a potentially huge gap (e.g. two SECOND buckets a year apart) consume it demand-driven instead of materializing every index.
A grid point must be an EXISTING local time. An index whose key does not round-trip (indexOf(keyOf(index)) != index) is not a grid point and is skipped: whole-day zone gaps — e.g. Pacific/Apia skipped local 2011-12-30 entirely, so the nonexistent midnight resolves FORWARD onto the next real bucket's instant and the key collapses onto it — yield no bucket. The round-trip filter stays inside the lazy stream.