Fire Animation "Breaks" Aim Offset

So really everything is working as it should but I’m trying to understand how I can prevent my fire montage (when told to play) from breaking my aim offset.

When I look around I can look up and down thanks to my aim offset, but lets say I’m looking up and decide to fire, since the fire animation occurs from an idle position, the animation moves back to idle, fires and then moves back to my aimoffsets pitch level.

So how can I have my weapon fire but not touch my aim offset? AKA just have it fire as is?
Do I need to make an aim offset for fire as well? Is there an easier way?

Extra Details:

My fire montage gets played via C++ telling it to just play once on fire from the weapon.
The aim offset is handled via the animation blueprint for my character.

Order of operations in the animation BP.
The montage needs to be before the AO is applied to maintain a similar position and play an altered animation.