To si nemyslím, spíš právě naopak. Bavíme se samozřejmě o user space vrstvě toho driveru. Pokud budu chtít další funkcionalitu kolem, jednoduše zabalím (v případě potřeby!) do proxy. Získám tak prakticky to samé, co mi umožní zmíněný Vulkan loader, ale daleko flexibilnější a neomezený tím, co vývojář toho "oficiálního" loaderu považoval za důležité.
Ten overhead, co tam je, není v celém kontextu možná velký, ale primárně zbytečný. Nehledě na to, že vendor bude mít nejspíš rovněž potřebu vnitřní abstrakce, takže si tyhle function pointery wrapne do podobné virtualizace. Overhead roste a nic nepřináší, naopak komplikuje.
V zásadě správně to měl vyřešené Direct3D už snad před dvaceti lety, nutno dodat, že jej rovnou postavili nad COM, pro kterou je takové řešení přirozené. Nicméně viz výše, ani v C to není nijak velkou překážkou...