### Godot version

Godot 4.0.2

### System information

Windows 10, NVIDIA GeForce 1060 GTX 3GB, Vulkan

### Issue description

Rigidbody collision against CharacterBody3D doesn't always trigger on_body_entered signal.
This happens when both objects are moving in the same direction

### Steps to reproduce

Play the test scene.
Press the right arrow key to move the character away from the rigid body. On contact no signal is emitted.


### Minimal reproduction project

[test.zip](https://github.com/godotengine/godot/files/11160540/test.zip)

}
	}
	contacts.resize(contact_count);
}
bool GodotBodySoftBodyPair3D::setup(real_t p_step) {
	if (!body->interacts_with(soft_body) || body->has_exception(soft_body->get_self()) || soft_body->has_exception(body->get_self())) {
		collided = false;
		return false;
	}
	body_collides = (body->get_mode() > PhysicsServer3D::BODY_MODE_KINEMATIC) && body->collides_with(soft_body);
	soft_body_collides = soft_body->collides_with(body);
	if (!body_collides && !soft_body_collides) {
		if (body->get_max_contacts_reported() > 0) {
			report_contacts_only = true;
		} else {
			collided = false;
			return false;
		}
	}
	const Transform3D &xform_Au = body->get_transform();
	Transform3D xform_A = xform_Au * body->get_shape_transform(body_shape);
	Transform3D xform_Bu = soft_body->get_transform();
	Transform3D xform_B = xform_Bu * soft_body->get_shape_transform(0);
	validate_contacts();
	GodotShape3D *shape_A_ptr = body->get_shape(body_shape);
	GodotShape3D *shape_B_ptr = soft_body->get_shape(0);
	collided = GodotCollisionSolver3D::solve_static(shape_A_ptr, xform_A, shape_B_ptr, xform_B, _contact_added_callback, this, &sep_axis);
	return collided;
}
bool GodotBodySoftBodyPair3D::pre_solve(real_t p_step) {