Changing the physics engine didn't help, but your comment of making the bullets bigger led me to a workaround that seems acceptable. I'm posting it here in case any other devs run into the same issue (or in case I forget how I did it and have to go Googling for an answer when I need to do it again :P)
My missiles are based on an Area root node, but this should also work for StaticBody RigidBody and KinematicBody types. My Missile Area has only one CollisionShape child which is important. (My missile's area also has a child Blast Area node with its own CollisionShape, but having more grandchild CollisionShapes like that is fine as long as the Missile node just has one direct CollisionShape child.) In the CollisionShape: for its Shape property I gave it a new CylinderShape, under Transform I rotated 90 degrees on the x-axis so it's pointing down the z-axis, then back at the Shape property's dropdown I picked Edit, and I adjusted its radius to be appropriate for my missile. You can leave the height at the default of 2 -- it will be changed in code later.
Then in code I have a
var collision_shape and in the
_ready() function I access the CollisionShape's cylinder shape with
collision_shape = shape_owner_get_shape(0, 0)
It's important to have only one CollisionShape child so you know that calling
shape_owner_get_shape and looking at the zero index will work correctly. Then in my
_process function, after I handle moving the missile and call
orthonormalize() I have
collision_shape.height = delta * speed
speed is a variable I created that does pretty much what you would expect and moves the missile along the z-axis that many units per second. The net effect of this is that the CollisionShape ends up being a cylinder that looks "ahead of" and "behind" the missile's current position by half the distance it moves per frame in each direction, so it reliably overlaps with the terrain's boundaries whenever the missile crosses (or is just about to cross) the boundary.
After I have fun blasting the ground for a while I'll get around to making it actually inflict damage.