### Godot version

4.0.beta12.official

### System information

macOS 12.3.1 (21E258), Metal GPUFamily Apple 7, Vulkan

### Issue description

I expected particles emitted by a `GPUParticles2D` with `Drawing > Local Coords` set to `not On` to move independently of the rotation of the parent node of the `GPUParticles2D`.

However, this does not appear to be the case and the particles appear to rotate together with the parent node of the emitting `GPUParticles2D`.

https://user-images.githubusercontent.com/3022/212566997-b972cf05-3a74-4eb2-a5bc-d4d4e7c5b14a.mp4

### Steps to reproduce

1. Open the attached project.
2. Check that `Drawing > Local Coords` is set to `Off` on the `GPUParticles2D`.
3. Run the main scene.
4. The particles should not rotate with the parent node. (But they do)

### Minimal reproduction project

[GPUParticle2DRotationalJitter.zip](https://github.com/godotengine/godot/files/10421202/GPUParticle2DRotationalJitter.zip)

copy_push_constant.frame_remainder = particles->interpolate ? particles->frame_remainder : 0.0;
			copy_push_constant.align_mode = particles->transform_align;
			copy_push_constant.align_up[0] = 0;
			copy_push_constant.align_up[1] = 0;
			copy_push_constant.align_up[2] = 0;
			if (particles->trails_enabled && particles->trail_bind_poses.size() > 1) {
				copy_push_constant.trail_size = particles->trail_bind_poses.size();
				copy_push_constant.trail_total = particles->frame_history.size();
				copy_push_constant.frame_delta = 1.0 / fixed_fps;
			} else {
				copy_push_constant.trail_size = 1;
				copy_push_constant.trail_total = 1;
				copy_push_constant.frame_delta = 0.0;
			}
			copy_push_constant.order_by_lifetime = (particles->draw_order == RS::PARTICLES_DRAW_ORDER_LIFETIME || particles->draw_order == RS::PARTICLES_DRAW_ORDER_REVERSE_LIFETIME);
			copy_push_constant.lifetime_split = MIN(particles->amount * particles->phase, particles->amount - 1);
			copy_push_constant.lifetime_reverse = particles->draw_order == RS::PARTICLES_DRAW_ORDER_REVERSE_LIFETIME;
			RD::ComputeListID compute_list = RD::get_singleton()->compute_list_begin();
			copy_push_constant.copy_mode_2d = particles->mode == RS::PARTICLES_MODE_2D ? 1 : 0;
			RD::get_singleton()->compute_list_bind_compute_pipeline(compute_list, particles_shader.copy_pipelines[ParticlesShader::COPY_MODE_FILL_INSTANCES + particles->userdata_count * ParticlesShader::COPY_MODE_MAX]);
			RD::get_singleton()->compute_list_bind_uniform_set(compute_list, particles->particles_copy_uniform_set, 0);
			RD::get_singleton()->compute_list_bind_uniform_set(compute_list, particles->trail_bind_pose_uniform_set, 2);
			RD::get_singleton()->compute_list_set_push_constant(compute_list, &copy_push_constant, sizeof(ParticlesShader::CopyPushConstant));
			RD::get_singleton()->compute_list_dispatch_threads(compute_list, total_amount, 1, 1);
			RD::get_singleton()->compute_list_end();
		}
		particles->dependency.changed_notify(Dependency::DEPENDENCY_CHANGED_AABB);
	}
}
Dependency *ParticlesStorage::particles_get_dependency(RID p_particles) const {