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

if (!collided) {
		return;
	}
	const real_t max_bias_av = MAX_BIAS_ROTATION / p_step;
	Basis zero_basis;
	zero_basis.set_zero();
	const Basis &body_inv_inertia_tensor = body_collides ? body->get_inv_inertia_tensor() : zero_basis;
	real_t body_inv_mass = body_collides ? body->get_inv_mass() : 0.0;
	uint32_t contact_count = contacts.size();
	for (uint32_t contact_index = 0; contact_index < contact_count; ++contact_index) {
		Contact &c = contacts[contact_index];
		if (!c.active) {
			continue;
		}
		c.active = false;
		real_t node_inv_mass = soft_body_collides ? soft_body->get_node_inv_mass(c.index_B) : 0.0;
		
		Vector3 crbA = body->get_biased_angular_velocity().cross(c.rA);
		Vector3 dbv = soft_body->get_node_biased_velocity(c.index_B) - body->get_biased_linear_velocity() - crbA;
		real_t vbn = dbv.dot(c.normal);
		if (Math::abs(-vbn + c.bias) > MIN_VELOCITY) {
			real_t jbn = (-vbn + c.bias) * c.mass_normal;
			real_t jbnOld = c.acc_bias_impulse;