It looks like the issue I was seeing is caused by older MinGW having broken WIDL_C_INLINE_WRAPPERS for AsyncIMultiQIVtbl. In particular, before the patch in this MR, objidlbase.h would be pulled in by vkd3d_windows.h from tests/d3d12_crosstests.h, before we define WIDL_C_INLINE_WRAPPERS. After this patch objidlbase.h is instead pulled in by vkd3d_d3d12.h, after we define WIDL_C_INLINE_WRAPPERS.
The (newer) version of MinGW in Debian stable doesn't have this issue, which probably means we don't care, and I've added a local workaround instead.