The documentation around the number of swapchain images the tutorial uses is kinda confusing to readers and should be reworked.
This code e.g.:
auto minImageCount = std::max( 3u, surfaceCapabilities.minImageCount );
Is followed by code that uses a different variable:
uint32_t imageCount = surfaceCapabilities.minImageCount;
Which is then not used for swapchain creation.
It also says that it's recommended to use minImageCount + 1 images, without quoting any source. Not sure if that's actually a recommendation.
See https://docs.vulkan.org/tutorial/latest/03_Drawing_a_triangle/01_Presentation/01_Swap_chain.html#_creating_the_swap_chain