The pre-download /load and /validate Vulkan gates rejected gpu_ids whenever
_classify_diffusion_gguf was not False, but None is the ordinary first-load
case for an uncached Hub GGUF (no local header to classify yet). That 400'd
first-time remote GGUF loads and made the new Vulkan GPU picker unusable unless
the model was already cached.
Reject only a CONFIRMED diffusion GGUF (is True) at the gates. For the rare
uncached model that turns out to be diffusion after download, add a spawn-time
backstop in load_model: on a Vulkan build, drop the unmappable gpu_ids pin
before _start_diffusion_server (ggml Vulkan ordinals cannot be forwarded as the
runner's CUDA/DG token) so it serves on the default device instead of the wrong
card. Regression tests cover the relaxed gate and the spawn backstop.