When fragment shader uses discard or gl_FragDepth the result of gl.ANY_SAMPLES_PASSED query is dependent on original depth of fragment instead of modified value from shader.
<rdar://problem/90799725>
Can you offer a minimal test case showing the problem? https://github.com/KhronosGroup/WebGL/tree/main/sdk/tests/conformance2/query has a couple of tests that could be extended. Would you consider filing this on http://crbug.com/angleproject ? Ideally this will be fixed upstream in ANGLE first and then rolled into WebKit. The same problem likely happens on macOS, at least on M1 hardware.
In test you mentioned https://github.com/KhronosGroup/WebGL/tree/main/sdk/tests/conformance2/query just add discard into fragment shader. All pixel should be discarded and result should be 0 but it is 1