Please try again with Vulkan 1.3 and reassess how "terrible" the API is.
And use some high level library like vk-bootstrap to do the boring init work.
Because once it's set up, Vulkan 1.3 is about as easy as OpenGL (if you stick with OpenGL-level stuff).
It is easier than WGPU because the RenderPass stuff required in Vulkan 1.0 (and hence WGPU) is gone, removing a lot of boilerplate code.
Pipeline barriers are the only "complex" thing remaining but even they are somewhat simplified with the right defaults (sharing mode) and simplifications (set stage masks to all commands, overhead is negligible on desktop devices).
Use push descriptors for "bindful" textures, set all your pipelines states dynamic (except blending), and timeline semaphores for sync.
For simple stuff (OpenGL level) it's a pleasure to work with, and you get rid of all the OpenGL quirks.
Complex stuff like bindless texturing and GPU driven rendering is still complex, but that's the same in all APIs.
It can still be a bit verbose and the init code is too much work (but you do it only once), but after it is set up it's quite okay.
And if you want OpenGL, use OpenGL. Zink (OpenGL on Vulkan) guarantees that it will be supported, even if GPU vendors stop keeping their GL drivers up to date (has not happened yet).