When changing the orientation, the swapchain is recreated. When creating the swapchain on Android, preTransform is set to VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR. Setting the preTransform to something different than the currentTransform (which is what is desired in this case, so the transformations are handled by the developer) will generate VK_SUBOPTIMAL_KHR in subsequent presentations.
When detecting this flag, the swapchain is recreated , which effectively means that the swapchain is recreated in every frame, unless the device has the orientation that is considered optimal, causing severe frame stuttering.
I have verified this behavior with 3 different devices. When removing condition presentResult == VK_SUBOPTIMAL_KHR, rendering proceeds normally.