I've noticed this when logging progress to debug HSEARCH-2758.
See this code in PartitionMapper:
The implementation of ScrollableResults we're using, org.hibernate.internal.ScrollableResultsImpl, starts positioned before the first element, so advancing 250 rows (for instance) will get us at the 250th element, which will be used as an upper bound for the first partition. The upper bound is excluded, thus the first partition will only include 249 elements, while the next partitions will include 250 elements.
Calling scroll.next() before the loop should do the trick.