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

ParticlesCollision *particles_collision = particles_collision_owner.get_or_null(p_particles_collision);
	ERR_FAIL_COND_V(!particles_collision, RID());
	ERR_FAIL_COND_V(particles_collision->type != RS::PARTICLES_COLLISION_TYPE_HEIGHTFIELD_COLLIDE, RID());
	if (particles_collision->heightfield_texture == RID()) {
		
		const int resolutions[RS::PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_MAX] = { 256, 512, 1024, 2048, 4096, 8192 };
		Size2i size;
		if (particles_collision->extents.x > particles_collision->extents.z) {
			size.x = resolutions[particles_collision->heightfield_resolution];
			size.y = int32_t(particles_collision->extents.z / particles_collision->extents.x * size.x);
		} else {
			size.y = resolutions[particles_collision->heightfield_resolution];
			size.x = int32_t(particles_collision->extents.x / particles_collision->extents.z * size.y);
		}
		RD::TextureFormat tf;
		tf.format = RD::DATA_FORMAT_D32_SFLOAT;
		tf.width = size.x;
		tf.height = size.y;
		tf.texture_type = RD::TEXTURE_TYPE_2D;
		tf.usage_bits = RD::TEXTURE_USAGE_SAMPLING_BIT | RD::TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
		particles_collision->heightfield_texture = RD::get_singleton()->texture_create(tf, RD::TextureView());
		Vector<RID> fb_tex;
		fb_tex.push_back(particles_collision->heightfield_texture);
		particles_collision->heightfield_fb = RD::get_singleton()->framebuffer_create(fb_tex);
		particles_collision->heightfield_fb_size = size;
	}
	return particles_collision->heightfield_fb;
}
void ParticlesStorage::particles_collision_set_collision_type(RID p_particles_collision, RS::ParticlesCollisionType p_type) {