### Godot version

4.0.beta17

### System information

windows 10, nvidia graphics, gl compatibility renderer

### Issue description

Checking or unchecking the 'transpose' checkbox in a tile alternative in the tileset editor has absolutely no visual effect. This was found by another user here https://github.com/godotengine/godot/issues/72525
This only happens in the compatibility renderer. I've tested with the vulkan (mobile and forward) and both worked fine.

### Steps to reproduce

See attached video:

https://user-images.githubusercontent.com/5783414/216274035-0acbe609-52b0-4dd8-90c1-b8970f248231.mp4



### Minimal reproduction project

[TileMapTransposeWontWork.zip](https://github.com/godotengine/godot/files/10566912/TileMapTransposeWontWork.zip)

### Work Around

User vulkan instead of opengl. Or, The user could create a specific tilemap node for rotated tiles and rotate the entire node by 90 or -90 degrees to achieve the desired result.
case Item::Command::TYPE_MESH:
		case Item::Command::TYPE_MULTIMESH:
		case Item::Command::TYPE_PARTICLES: {
			GLES3::MeshStorage *mesh_storage = GLES3::MeshStorage::get_singleton();
			GLES3::ParticlesStorage *particles_storage = GLES3::ParticlesStorage::get_singleton();
			RID mesh;
			RID mesh_instance;
			uint32_t instance_count = 1;
			GLuint instance_buffer = 0;
			uint32_t instance_stride = 0;
			uint32_t instance_color_offset = 0;
			bool instance_uses_color = false;
			bool instance_uses_custom_data = false;
			if (state.canvas_instance_batches[p_index].command_type == Item::Command::TYPE_MESH) {
				const Item::CommandMesh *m = static_cast<const Item::CommandMesh *>(state.canvas_instance_batches[p_index].command);
				mesh = m->mesh;
				mesh_instance = m->mesh_instance;
			} else if (state.canvas_instance_batches[p_index].command_type == Item::Command::TYPE_MULTIMESH) {
				const Item::CommandMultiMesh *mm = static_cast<const Item::CommandMultiMesh *>(state.canvas_instance_batches[p_index].command);
				RID multimesh = mm->multimesh;
				mesh = mesh_storage->multimesh_get_mesh(multimesh);
				if (mesh_storage->multimesh_get_transform_format(multimesh) != RS::MULTIMESH_TRANSFORM_2D) {
					break;
				}
				instance_count = mesh_storage->multimesh_get_instances_to_draw(multimesh);
				if (instance_count == 0) {
					break;
				}
				instance_buffer = mesh_storage->multimesh_get_gl_buffer(multimesh);
				instance_stride = mesh_storage->multimesh_get_stride(multimesh);