### Godot version

Godot 4 stable and Godot 3.x LTS

### System information

Fedora linux

### Issue description

If you use some custom logic inside _integrate_forces() to alter the state linear velocity and there is any reference to linear_velocity in physics process, the result in godot 3.5 is that it moves just a little bit, while in godot 4 is totally still.

### Steps to reproduce

For the example i created a simple scene in which i apply a force on the linear velocity in  _integrate_forces()  and added a line that add zero to it in physics process. You will not see any move, but it will work fine if you comment the line adding zero.


### Minimal reproduction project

[PhysicsBugReproduction.zip](https://github.com/godotengine/godot/files/12139772/PhysicsBugReproduction.zip)

if (p_was_on_floor && !vel_dir_facing_up) {
							
							Transform3D gt = get_global_transform();
							real_t travel_total = result.travel.length();
							real_t cancel_dist_max = MIN(0.1, margin * 20);
							if (travel_total <= margin + CMP_EPSILON) {
								gt.origin -= result.travel;
								result.travel = Vector3(); 
							} else if (travel_total < cancel_dist_max) { 
								gt.origin -= result.travel.slide(up_direction);
								
								motion = motion.slide(up_direction);
								result.travel = Vector3();
							} else {
								
								result.travel = result.travel.slide(up_direction);
								motion = motion.normalized() * result.travel.length();
							}
							set_global_transform(gt);
							
							_snap_on_floor(true, false);
						} else {
							
							motion = result.remainder;
						}
						
						Vector3 forward = wall_normal.slide(up_direction).normalized();
						motion = motion.slide(forward);
						
						if (vel_dir_facing_up) {