No, it doesn't seem to, according to the docs:
"If the engine detects a collision anywhere along this vector, the body will immediately stop moving. If this happens, the method will return a KinematicCollision2D object."
The object contains a bunch of info such as the kind of collider it interacts with, but no boolean. The docs also elaborate with:
Using move_and_collide.
var collision = move_and_collide(velocity * delta)
if collision:
print("I collided with ", collision.collider.name)
I'm assuming basically what happens is that the variable is only filled when a collision is found, which in turn triggers the if-argument, but I don't know.
Either way, the issue remains strange, considering that only the calls for other nodes seem to be triggered...