It seams like it's actually due to the current rotation.
Here's some of my tests
I think I know what's happening, it's not invisible pixels, it's just that snap doesn't calculate the pixel at the edge, it just looks at the width and height of the current costume.
Since your ball costume is symmetrical on all sides (there is no visual difference in different rotations), you can set the rotation style to "don't rotate"
Which will make sure the bounding box is calculated correctly.
Thanks! That option helps a lot. I thought I had to create a point-symmetric ball. But with this option it is possible to put the light source in the correct position.