There are various efforts to compile OpenCL and SYCL to Vulkan, the Mesa folks are working on this as part of the RustiCL project. But full capability will require some extensions beyond what plain Vulkan provides.
Wait, really? How does one set that up without just getting llvmpipe? I've turned over half the internet and I could never get it to work without installing some kind of window system.
I'm just speaking from the perspective of the spec, which defines surfaces and swapchains as extensions that are never guaranteed to be available, so a compliant driver may work in the absense of any kind of GUI by just reporting those extensions as not supported. Whether your Vulkan driver actually supports running in a headless context is another question though, and of course the Vulkan software you're trying to run has to gracefully handle the case where surface/swapchain aren't available.
WebGPU can't fill any need that GL, DirectX, or Vulkan can't. WebGPU isn't a native GPU API, but an abstraction over existing ones. As such its feature set is only ever at best comparable, but in practice will always be worse than the native ones (always worse due to needing to be implementable by multiple platforms - at a minimum both vulkan and metal)