Particle not spawning from the correct location when moving

I am having a problem when I try to spawn a shell from a gun the player is holding. The particle itself is a single burst of a shell mesh being flung up and to the right of the gun. There is a constant downward acceleration and it inherits the parent velocity. The particle does not use Local Space and the Initial Velocity and Inherit Parent Velocity are not in world space. The particle is being spawned by having a Particle System component be the child of the gun mesh (while not being attached to any sockets), and then activated via an “activate” node in blueprints.

It works fine and spawns at the correct location when the player is standing still, however when the player moves rather than spawning from the chamber of the gun the particle spawns in front of where the player is moving to. For example if the character is moving forward the particle will spawn in front of the gun, moving to the right and the particle will spawn to the right of the gun, and so on.

Using Local Space fixes the problem of spawn location, but because the gun itself is moving around quite a bit the particle will jiggle around with the gun rather than just follow a smooth arc.

Removing Inherit Parent Velocity also fixes the problem of spawn location, but now when the player moves to the right the shell (from the point of view of the player) ejects to the left, and whey they move to the left the particle ejects to the right way too fast.