Ok, so by setting VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR and positioning the display right way up it is sure that (0,0) is upper left on screen or are there platforms that do otherwise?
Not that I know of. The Khronos wanted that possibility expressed in the spec though.
Would using VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR enable the de facto behaviour of OpenGL?
No; it’s a rotation. If 0 degrees puts the (0, 0) pixel at the top-left, 180 degrees puts it at the bottom-right. You’d have to have VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR.
I haven’t read about this in any tutorial regarding y axis flip. Wouldn’t it be even more comfortable than the viewport flipping?
No, the swapchain has to support it in the first place.