Translating between rendering APIs is not really the problem. The GPU design is more different than the API is.
For example, VK_EXT_descriptor_buffer is a critical one, and there are more: https://www.khronos.org/blog/vk-ext-descriptor-buffer. And MoltenVK doesn't support Vulkan 1.3.