Why there's no z-fighting for coincident planes if the camera look perpendicular at them? There's a similar question Why do identical polygons not z-fight in OpenGL?
 but I believe I have a different setup.

As can be seen in the picture the vertices for the planes are different and on the left side, there's a clearly visible artifact. On the right side, there's no z-fighting even in movement. Why?
Update: the white plane draw call submitted first. The depth compare operation is VK_COMPARE_OP_LESS_OR_EQUAL.
Even if two triangles aren't coincident...
Z fighting happens because of floating point quantization, this results from all the math the shader does to compute vertex positions such as: $glPosition = Projection*View*Model*vertex\_position$
When the vertices are all the same distance and angle from the camera then all the floating points values are effectively the same and the tiny error that crops up is so close that the Z fighting appears to go away.
On the other hand if you change the angle of the camera even a little bit then all the floating point values for each vertex are now slightly different and so is the quantization. This results in the z fighting that you are seeing.
But keep moving the camera back, and the results for the perfectly aligned camera will eventually begin to exhibit the same behavior. The camera position is also a floating point value and subject to floating point error so no matter how perfectly the camera is aligned, it will still, eventually, have enough error to cause the same issue.