I expected to see significantly more code, pass-through to the original DLL.
Yup! That's why I didn't have to create a gazillion passthrough functions.
The original DLL in my modern Windows installation has these 8 exports:
DirectInputCreateA DirectInputCreateEx DirectInputCreateW DllCanUnloadNow DllGetClassObject DllRegisterServer DllUnregisterServer
Seems pretty straightforward. They hook DirectInputCreateA() and pass their own device enumeration wrapper with the offending flag removed.
The idea is, rather than handle up to 8 devices, otherwise UB and usually crash, handle up to 8 "joysticks" and disregard any beyond that.
I expected to see significantly more code, pass-through to the original DLL.