The response-hidden gather indices for the prefix-shared concat layout
[prompt(P); chosen(Rc); rejected(Rr)]: chosen[k] is predicted from H[P-1+k];
rejected[0] from H[P-1] (the shared prompt-last, same as chosen[0]) and
rejected[k>=1] from H[P+Rc+k-1]. Used by the non-segmented path AND the
segmented prefix backward so both gather identically.
The response-hidden gather indices for the prefix-shared concat layout [prompt(P); chosen(Rc); rejected(Rr)]: chosen[k] is predicted from H[P-1+k]; rejected[0] from H[P-1] (the shared prompt-last, same as chosen[0]) and rejected[k>=1] from H[P+Rc+k-1]. Used by the non-segmented path AND the segmented prefix backward so both gather identically.