### Godot version

4.2 beta 2

### System information

Pop Os 22.04 lts 12th Gen Intel® Core™ i7-12700H × 20 NVIDIA RTX A2000 8GB 32.0  ram. Tested on Forward+ and Mobile

### Issue description

When painting a tile that is rotated or flipped, it looses its physics layer as demonstrated in this video:  

https://github.com/godotengine/godot/assets/33091666/c10f7325-838f-4112-b90d-0c3d9797d08f

Even though in the video I showed this only happening with one of the tiles, it happens with both of them as long as you rotate or flip it. 

### Steps to reproduce

1. Create a tilemap and a tileset
2. Create a physics layer and set collision_visibility_mode to force show. 
3. Assign just created physics layer to tiles
4. Paint the tiles and use rotate or flip tool. 

### Minimal reproduction project

[TileTest.zip](https://github.com/godotengine/godot/files/13067412/TileTest.zip)
TILE_OFFSET_AXIS_HORIZONTAL,
		TILE_OFFSET_AXIS_VERTICAL,
	};
	struct PackedSceneSource {
		Ref<PackedScene> scene;
		Vector2 offset;
	};
	class TerrainsPattern {
		bool valid = false;
		int terrain = -1;
		int bits[TileSet::CELL_NEIGHBOR_MAX];
		bool is_valid_bit[TileSet::CELL_NEIGHBOR_MAX];
		int not_empty_terrains_count = 0;
	public:
		bool is_valid() const;
		bool is_erase_pattern() const;
		bool operator<(const TerrainsPattern &p_terrains_pattern) const;
		bool operator==(const TerrainsPattern &p_terrains_pattern) const;
		bool operator!=(const TerrainsPattern &p_terrains_pattern) const {
			return !operator==(p_terrains_pattern);
		};
		void set_terrain(int p_terrain);
		int get_terrain() const;
		void set_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit, int p_terrain);
		int get_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const;
		void from_array(Array p_terrains);
		Array as_array() const;
		TerrainsPattern(const TileSet *p_tile_set, int p_terrain_set);
		TerrainsPattern() {}