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

u.uniform_type = RD::UNIFORM_TYPE_STORAGE_BUFFER;
			u.binding = 2;
			u.append_id(material_storage->global_shader_uniforms_get_storage_buffer());
			uniforms.push_back(u);
		}
		particles_shader.base_uniform_set = RD::get_singleton()->uniform_set_create(uniforms, particles_shader.default_shader_rd, 0);
	}
	{
		Vector<String> copy_modes;
		for (int i = 0; i <= ParticlesShader::MAX_USERDATAS; i++) {
			if (i == 0) {
				copy_modes.push_back("\n#define MODE_FILL_INSTANCES\n");
				copy_modes.push_back("\n#define MODE_FILL_SORT_BUFFER\n#define USE_SORT_BUFFER\n");
				copy_modes.push_back("\n#define MODE_FILL_INSTANCES\n#define USE_SORT_BUFFER\n");
			} else {
				copy_modes.push_back("\n#define MODE_FILL_INSTANCES\n#define USERDATA_COUNT " + itos(i) + "\n");
				copy_modes.push_back("\n#define MODE_FILL_SORT_BUFFER\n#define USE_SORT_BUFFER\n#define USERDATA_COUNT " + itos(i) + "\n");
				copy_modes.push_back("\n#define MODE_FILL_INSTANCES\n#define USE_SORT_BUFFER\n#define USERDATA_COUNT " + itos(i) + "\n");
			}
		}
		particles_shader.copy_shader.initialize(copy_modes);
		particles_shader.copy_shader_version = particles_shader.copy_shader.version_create();
		for (int i = 0; i <= ParticlesShader::MAX_USERDATAS; i++) {
			for (int j = 0; j < ParticlesShader::COPY_MODE_MAX; j++) {
				particles_shader.copy_pipelines[i * ParticlesShader::COPY_MODE_MAX + j] = RD::get_singleton()->compute_pipeline_create(particles_shader.copy_shader.version_get_shader(particles_shader.copy_shader_version, i * ParticlesShader::COPY_MODE_MAX + j));
			}
		}
	}
}
ParticlesStorage::~ParticlesStorage() {