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

Particles *particles = particles_owner.get_or_null(p_particles);
	ERR_FAIL_COND(!particles);
	particles->collisions.insert(p_particles_collision_instance);
}
void ParticlesStorage::particles_remove_collision(RID p_particles, RID p_particles_collision_instance) {
	Particles *particles = particles_owner.get_or_null(p_particles);
	ERR_FAIL_COND(!particles);
	particles->collisions.erase(p_particles_collision_instance);
}
void ParticlesStorage::particles_set_canvas_sdf_collision(RID p_particles, bool p_enable, const Transform2D &p_xform, const Rect2 &p_to_screen, RID p_texture) {
	Particles *particles = particles_owner.get_or_null(p_particles);
	ERR_FAIL_COND(!particles);
	particles->has_sdf_collision = p_enable;
	particles->sdf_collision_transform = p_xform;
	particles->sdf_collision_to_screen = p_to_screen;
	particles->sdf_collision_texture = p_texture;
}
void ParticlesStorage::_particles_process(Particles *p_particles, double p_delta) {
	TextureStorage *texture_storage = TextureStorage::get_singleton();
	MaterialStorage *material_storage = MaterialStorage::get_singleton();
	if (p_particles->particles_material_uniform_set.is_null() || !RD::get_singleton()->uniform_set_is_valid(p_particles->particles_material_uniform_set)) {
		Vector<RD::Uniform> uniforms;
		{
			RD::Uniform u;
			u.uniform_type = RD::UNIFORM_TYPE_STORAGE_BUFFER;
			u.binding = 0;
			u.append_id(p_particles->frame_params_buffer);
			uniforms.push_back(u);