The test should be correct, this looks more like an actual xfb bug since the test deliberately declares multiple variables in different streams as SV_Position and our shader compilers don't seem to handle that. This is perfectly legal in D3D12.
But it doesn't seem legal in VK.
Again, the problem is that we have multiple SV_Position variables that our compilers map to a single one. The correct fix here is to only map the one for the rasterized stream to gl_Position and keep the other ones separate, same for all other potential system values.
Nothing extracted yet.
The Vulkan spec says:
I think it's a test bug.