Here's the possible reasons, keep in mind this is speculation since I don't know what you are actually doing. These are things I would check if I was you.
Animation might have unwanted rotations.
Solution: Check your animation in 3D software or preview window in inspector.
There's an undesired physics pull from other objects.
Solution: Are there any scripts in the world that effects your dragon without you knowing? Maybe a layer specific effect or just using Find().
Your bones might have rigidbodies on them.
Solution: Maybe you added ragdoll then forgot about it. Check bones for rigidbodies.
Is your model centered correctly?
Solution: Go back to 3D software and apply all transforms as well as centering your mesh to world.
Is there a physics force applied in 3D software?
Solution: Maybe you exported a physics effect by mistake? Check if you used a physics simulator on your 3D software such as wind. This is very low probability but hey, people do win lottery.
Your model have orientation problems with it's parents.
Solution: Check the origin of your parents and try to fix it that way. Is your object properly centered with it's parent's origin?
Your animation has a problem you couldn't detect.
Solution: Disable said animation and check movement in-game.
It's something else. Welcome to Quaternion hell.
Solution: Setup breakpoints at rotations in code, set up Debug.Logs on your rotations and try to understand your rotations and where it gets bad.
I did use this one to fix bad rotation before. It ain't pretty.