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

real_t max_separation = space->get_contact_max_separation();
	real_t max_separation2 = max_separation * max_separation;
	const Basis &basis_A = A->get_transform().basis;
	const Basis &basis_B = B->get_transform().basis;
	for (int i = 0; i < contact_count; i++) {
		Contact &c = contacts[i];
		bool erase = false;
		if (!c.used) {
			
			erase = true;
		} else {
			c.used = false;
			Vector3 global_A = basis_A.xform(c.local_A);
			Vector3 global_B = basis_B.xform(c.local_B) + offset_B;
			Vector3 axis = global_A - global_B;
			real_t depth = axis.dot(c.normal);
			if (depth < -max_separation || (global_B + c.normal * depth - global_A).length_squared() > max_separation2) {
				erase = true;
			}
		}
		if (erase) {
			
			if ((i + 1) < contact_count) {