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

A->apply_impulse(-j_vec, c.rA + A->get_center_of_mass());
		}
		if (collide_B) {
			B->apply_impulse(j_vec, c.rB + B->get_center_of_mass());
		}
		c.bounce = combine_bounce(A, B);
		if (c.bounce) {
			Vector3 crA = A->get_prev_angular_velocity().cross(c.rA);
			Vector3 crB = B->get_prev_angular_velocity().cross(c.rB);
			Vector3 dv = B->get_prev_linear_velocity() + crB - A->get_prev_linear_velocity() - crA;
			c.bounce = c.bounce * dv.dot(c.normal);
		}
	}
	return do_process;
}
void GodotBodyPair3D::solve(real_t p_step) {
	if (!collided) {
		return;
	}
	const real_t max_bias_av = MAX_BIAS_ROTATION / p_step;
	Basis zero_basis;
	zero_basis.set_zero();
	const Basis &inv_inertia_tensor_A = collide_A ? A->get_inv_inertia_tensor() : zero_basis;
	const Basis &inv_inertia_tensor_B = collide_B ? B->get_inv_inertia_tensor() : zero_basis;
	real_t inv_mass_A = collide_A ? A->get_inv_mass() : 0.0;
	real_t inv_mass_B = collide_B ? B->get_inv_mass() : 0.0;
	for (int i = 0; i < contact_count; i++) {
		Contact &c = contacts[i];
		if (!c.active) {
			continue;