Parenting mesh to bone deforms bone's rotation

I have a weapon that is itself a mesh (imported as an fbx file). I also have a character model that is a mesh with a bunch of bones that form an armature. In Unity, I parent the gun mesh to the hand bone of my armature. The problem is that, when I establish this parent relationship, all of the parents of the gun mesh now deform improperly (for example, rotating the lower arm about the elbow on the arm that is a parent to the gun now rotates differently than it did before the gun mesh was parented to that arm).

The other thing I notice is that after making the gun a child of the hand, whenever I select the hand bone or any of it’s parents’ bones, the gun mesh is highlighted instead of whatever bone I am selecting.

Is there a way for me to configure my parent/child relationship so that the gun is effectively treated as a child bone/object to my arm and I can then animate the hand/forarm/whatever?

My end goal is to animate my playermodel holding the gun up, forward, and down, then blend those animations with Unity’s animator blend tree so that when I look up and down, it appears as though the character is aiming properly.

I played around with this, and it turns out that if I acquire a .blend file as the weapon model, append it to my player’s .blend file, then export that to a .fbx, then the gun mesh stays attached the way it should once imported to unity. My guess here is that it has something to do with how blender deals with importing/exporting relationships between things in FBX files.

It may also have something to do with the fact that when appending my weapon .blend file, I explicitly parented all the meshes of my gun to a single mesh in my gun, which I then parented to my character’s weapon attachment bone.