OnComponentHit is not called reliably

I’m on 5.4.3, and here’s my setup:
I’ve got a player with a static mesh “club” attached to it, and that static mesh has a box collider set to BlockAllDynamic, with “Generate Hit Events” and “Use CCD” turned on.

The scenario is: I’m swinging this club around by programatically moving it, and using to hit a dynamic rigid body ball with sphere collision. That sphere collider also has “blockAllDynamic” and “generate hits” turned on.

The parent character class has an OnComponentHit blueprint event registered for the box. And it calls the event about 50% of the time when I swing and hit the ball.

It seems like what might be happening is that if the ball I’m hitting with the club is fully resting, the event isn’t called, and if it’s not resting, it happens reliably. It could be that when I hit it initially, the first contact isn’t calling the event, but perhaps the next frame after the ball is moving it registers a hit.

The event seems to always be called reliably if the thing I’m hitting is moving at all.
I can’t find anything in the documentation to indicate this event will only be called on non-resting rigid bodies, and I can’t see anything indicating I should use a different event.

To be clear: A collision is definitely happening reliably - the colliders connect, and the ball goes flying every time. But the OnComponentHit isn’t always called.

How can I make this 100% reliable?