The main clarification of module backward hooks is “don’t use them” 39.
Sorry, but there isn’t a better explanation.
If you look at Yaroslavvb’s implementation 99, you see that he wrapped the actual autograd functions in order to have access to all he needs, quite likely, something like that is necessary.
Best regards
Thomas