I'm came here to respond to this thread:
I noticed something similar in the Linux driver (16.15.2). The ICD reports the instance extensions:
but not VK_KHR_surface.
Earlier versions of the LunarG loader would enumerate VK_KHR_surface anyway, and allow it to be used. I bisected to this commit:
which was first released in 1.0.8. After this change the loader will only enumerate VK_KHR_surface if the ICD enumerates it, causing the extension to be unusable. Even the LunarG demos from the loader repo fail with:
"vkEnumerateInstanceExtensionProperties failed to find the VK_KHR_surface extension."