Everything you said about (2) is wrong imo.
Games should simply not be written for a particular architecture. The rendering part of the game engine should already be abstracted away from the particular rendering API (there are other significant platforms which do not support Vulkan: PS5 and Xbox, which your game should be capable of targeting). And the math library should have fallbacks to standard C (or standard C++ etc.) and then specialized implementations for AVX, NEON, SVE, etc.
Nothing else needs to be architecture specific.
Now, sure, NEON is slower than AVX-256/512. But backending to NEON or even standard C is certainly going to be faster than running stuff over an x86-to-ARM translation layer.
Sooner or later the Steam Deck 2 will release, probably on an ARM platform (if the Steam Frame compatibility layers go well), and millions upon millions upon millions of dollars of electricity will simply be wasted running x86-to-ARM, Win32-to-Linux and Direct3D-to-Vulkan dynamic compatibility layers when, if the games were well written in the first place, they could simply be trivially recompiled.
> 32-bit library execution modes
If your application assumes pointers are 32-bits, or any particular size, or even any set of particular sizes, it's completely broken.
As for (1), if Asahi Vulkan drivers are really good, that just goes to show why Apple isn't supporting Vulkan. Metal applications seem to be faster, and Apple wants to push devs to make their apps for the faster API.