### Godot version

4.0 beta 10

### System information

Windows 11, gl_compatibility, NVidia RTX 3070 TI

### Issue description

When a CharacterBody3D has a ConcavePolygonShape3D and performs a move_and_collide; it will fail to collide with any type of shape - spheres, capsules, etc.

### Steps to reproduce

Create a CharacterBody3D with a ConcavePolygonShape3D and position it above a StaticBody3D with a SphereShape3D, then move_and_collide the CharacterBody3D down through the sphere. No collision is detected.

### Minimal reproduction project

The https://github.com/Malcolmnixon/PhysicsCollisionTest project contains tests of every collision. The following are shots of the concave shape above the sphere, and then move_and_collide into the sphere:
![image](https://user-images.githubusercontent.com/1863707/209745175-5ea35ce6-e6cc-4834-9005-914ff3742a5b.png)
![image](https://user-images.githubusercontent.com/1863707/209745257-02664285-81eb-443c-a598-660c391d654d.png)

if (n == Vector3()) {
		return false;
	}
	
	if (n.dot(from - to) < CMP_EPSILON) {
		return false;
	}
	Vector3 support_B = p_transform_B.xform(p);
	if (ray->get_slide_on_slope()) {
		Vector3 global_n = ai.basis.xform_inv(n).normalized();
		support_B = support_A + (support_B - support_A).length() * global_n;
	}
	if (p_result_callback) {
		if (p_swap_result) {
			p_result_callback(support_B, 0, support_A, 0, p_userdata);
		} else {
			p_result_callback(support_A, 0, support_B, 0, p_userdata);
		}
	}
	return true;
}
struct _SoftBodyContactCollisionInfo {
	int node_index = 0;
	GodotCollisionSolver3D::CallbackResult result_callback = nullptr;
	void *userdata = nullptr;
	bool swap_result = false;
	int contact_count = 0;
};
void GodotCollisionSolver3D::soft_body_contact_callback(const Vector3 &p_point_A, int p_index_A, const Vector3 &p_point_B, int p_index_B, void *p_userdata) {