### 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)

return false;
	}
	Vector3 hitpos = p_xform_B.xform(segment_hit_local);
	real_t newlen = hitpos.distance_to(supports_A[segment_support_idx]);
	
	
	newlen += (max - min) * 0.01;
	
	p_A->set_linear_velocity((mnormal * newlen) / p_step);
	return true;
}
real_t combine_bounce(GodotBody3D *A, GodotBody3D *B) {
	return CLAMP(A->get_bounce() + B->get_bounce(), 0, 1);
}
real_t combine_friction(GodotBody3D *A, GodotBody3D *B) {
	return ABS(MIN(A->get_friction(), B->get_friction()));
}
bool GodotBodyPair3D::setup(real_t p_step) {
	check_ccd = false;
	if (!A->interacts_with(B) || A->has_exception(B->get_self()) || B->has_exception(A->get_self())) {
		collided = false;
		return false;
	}
	collide_A = (A->get_mode() > PhysicsServer3D::BODY_MODE_KINEMATIC) && A->collides_with(B);
	collide_B = (B->get_mode() > PhysicsServer3D::BODY_MODE_KINEMATIC) && B->collides_with(A);
	report_contacts_only = false;
	if (!collide_A && !collide_B) {
		if ((A->get_max_contacts_reported() > 0) || (B->get_max_contacts_reported() > 0)) {
			report_contacts_only = true;