What about nearby vehicle explosions? stepping into fire? grenade explosion? and so on...
I would test that IG but I don't really have the option to do it ATM.
Debug player health in OnPlayerTakeDamage and check your console is it get called or not. Probably, as callback says, it's getting called everytime when player gets a damage.