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

WARN_PRINT_ONCE("Collisions between world boundaries and soft bodies are not supported.");
			return false;
		}
		if (swap) {
			return solve_static_world_boundary(p_shape_B, p_transform_B, p_shape_A, p_transform_A, p_result_callback, p_userdata, true, p_margin_A);
		} else {
			return solve_static_world_boundary(p_shape_A, p_transform_A, p_shape_B, p_transform_B, p_result_callback, p_userdata, false, p_margin_B);
		}
	} else if (type_A == PhysicsServer3D::SHAPE_SEPARATION_RAY) {
		if (type_B == PhysicsServer3D::SHAPE_SEPARATION_RAY) {
			WARN_PRINT_ONCE("Collisions between rays are not supported.");
			return false;
		}
		if (swap) {
			return solve_separation_ray(p_shape_B, p_transform_B, p_shape_A, p_transform_A, p_result_callback, p_userdata, true, p_margin_B);
		} else {
			return solve_separation_ray(p_shape_A, p_transform_A, p_shape_B, p_transform_B, p_result_callback, p_userdata, false, p_margin_A);
		}
	} else if (type_B == PhysicsServer3D::SHAPE_SOFT_BODY) {
		if (type_A == PhysicsServer3D::SHAPE_SOFT_BODY) {
			WARN_PRINT_ONCE("Collisions between soft bodies are not supported.");
			return false;
		}
		if (swap) {
			return solve_soft_body(p_shape_B, p_transform_B, p_shape_A, p_transform_A, p_result_callback, p_userdata, true);
		} else {
			return solve_soft_body(p_shape_A, p_transform_A, p_shape_B, p_transform_B, p_result_callback, p_userdata, false);
		}
	} else if (concave_B) {
		if (concave_A) {