It ain't that hard to get accurate location, i've done it before
here, it's not exactly an elegant solution though but I imagine yuo must be doing something relatively similar. It's not without it's problems though, i think if I revisited this I would try to move the semen projectile from the niagara emitter to being just a normal physical mesh because the niagara collisions tend not to be very reliable, especially for gpu particles., i think for the regular collision approach on gpu particles thhey only collide if they are rendered, and they only render if they are not obscured by anything (such as the mesh or even another particle)
It is a problem I could solve with scratch, but I think just moving the projectile itself to a blueprint actor and forwarding it's collision & position data to the niagara emitter would be simpler at the end of the day.
It's also possible to use CPU particles for the projectile, but to forward data from CPU particles to GPU particles the only way i know is to send the data from the cpu particle to a blueprint actor and then send it back from the blueprint actor to the GPU particle emitter which is a mite convoluted.