I wouldn’t take the dimensions in the first person shooter project as iron-clad - that’s definitely low for a camera in my opinion, but it’s easy to change the height in the character blueprint.
I would recommend grabbing Epic’s animation starter pack (or just the UE4 mannequin if you have it on your project) and using the same IK setup for the arms. They have a bone called IK_hand_gun that’s parented under root -> IK_hand_root. So first off, you could rig your weapon / all of its constituent bones to this special gun bone. Weapon specific bones like mag and bolt don’t get exported with the arms, and the same gun bone acts as the root of the weapon skeleton when it gets exported. Make sense? This is the way I do it, anyway.
You’ve got the reference pose on the arms correct. Animate your weapon/arms in the same scene like normal; possibly, you may need to do some extra steps like constraining the hands to your gun bone or vice versa depending on your software. Only once you are finished and ready for export would you then move the gun (via the special bone) to world zero. The axis the gun is aligned to depends on the orientation of the attachment bone, but I think facing down the positive X-axis is typical. By locating your main gun bone outside the arm hierarchy it’s possible to have the weapon switch hands in an animation / not act like like a simple attachment. I mention other methods, like direct attachment to a socket because a lot of games (think third-person) don’t need that level of functionality.
Note that the way Epic did it, IK_hand_gun occupies the same spot as the right hand bone. While rigging, you’d want to take care with the placement of the gun relative to its top-level bone so that the right hand can correctly grip whatever it needs to when the gun bone is aligned to the right hand’s bone. This way, you don’t need to apply any translation offset to align things in UE4 - you simply attach your weapon mesh directly to IK_hand_gun in blueprint. At worst, you’d maybe have to apply a 90 degree offset to fix the orientation.