That makes no sense, that would kill/slow down my game if there was so many objects with "On collision". Can you do me another favour and run this program, or if anyone else could as well. And just disable "On collision" and enable "Is overlapping" and next try the other way around and screenshot the debug performance window. Because it seems strange that it would be that different. Have you done anything special with your "On collision"?.
Your capx works as you say.
Give your sprites random bullet movement and then test with On Col vs Is Overlap. I suspect the behavior may change with a sprite that's constantly moving to one that is stationary.
Here's my debug shot.
[attachment=0:21q5k87z][/attachment:21q5k87z]
Each bullet has to check against enemies, each enemy has a separate left & right shield which when depleted, the collision is ignored and checks if it collides with the hull afterwards. Drones also check for collision to enable/disable some movement.
There's some fights that happen off-screen that also needs to be calculated.
I have very low collision checks per tick though (much less than your examples), most of the calculations go for AI position, distance, angle, and lots of variables, so perhaps in my case, any efficiency gains with Is Overlap won't make much of a difference.