The manpage says this about the if_qflush function pointer:
"This function must be installed after if_attach() to
override the default implementation.
However, looking at if_attach(), it only sets if_qflush if the function sees that both the if_transmit and if_qflush function pointers are NULL.
There's also a KASSERT that says both fields must be set or both must be NULL, so it isn't even possible (with asserts enabled) to set if_transmit before if_attach() and then set if_qflush afterwards.