GAPIS currently uses name pattern matching to find the 'position' stream.
It would seem that Unreal obfuscates their shader code, including the vertex attribute names:
0: in_ATTRIBUTE2, XYZW_U8_NORM
1: in_ATTRIBUTE15, XY_F16
2: in_ATTRIBUTE4, XYZW_F16
3: in_ATTRIBUTE0, XYZ_F32
4: in_ATTRIBUTE1, XYZW_U8_NORM