What type of movement (and settings) are you using in your moving actor?
Is it SetActorLocation(); bSweep = true; bTeleport = false?
In short - what leads to the overlap in the first place?
The sweep is executed on the moving actor (not really accurate but serves the point) as part of its movement so you should check whether the SetActorLocation() return hit (or whatever movement you are using) and the OnComponentBeginOverlap return hit match or not. I would suggest that your “hitting” actor notifies your “being hit” actor about the point of impact if it returns the correct information.