By default, the KinematicBody2D has the
infinite_inertia parameter (in
move_and_collide()) set to
true. When this is the case, you won't detect collisions with rigid bodies, and they'll be pushed regardless of their mass.
If you disable
infinite_inertia the kinematic body will stop on hitting rigids and report a collision. If you then want to push the rigid body, you'll have to apply an impulse manually.
See here for an example: