### Godot version

4.01

### System information

Windows 10

### Issue description

It seems a tiles Custom Data is cleared/not set when "Local to Scene" is enabled for the TileMap in the Resource section. At least the custom data isn't set by the time of the _ready function in the script attached to the TileMap.

### Steps to reproduce

create TileMap and tileset with custom data and attached script. in _ready method attempt to read custom data from a used cell. 

In Attached project run it. It will print_debug if it found custom data or not. "Local to Scene" is enabled so it will not find the custom data.

### Minimal reproduction project

[TileMapCustomDataLocalBugReproduce.zip](https://github.com/godotengine/godot/files/11470771/TileMapCustomDataLocalBugReproduce.zip)

break;
							default:
								break;
						}
						if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS_AND_SIDES) {
							polygon = _get_half_offset_corner_or_side_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, bit);
						} else if (terrain_mode == TileSet::TERRAIN_MODE_MATCH_CORNERS) {
							polygon = _get_half_offset_corner_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, bit);
						} else { 
							polygon = _get_half_offset_side_terrain_peering_bit_polygon(tile_size, overlap, tile_offset_axis, bit);
						}
					}
					{
						Ref<ArrayMesh> mesh;
						mesh.instantiate();
						Vector<Vector2> uvs;
						uvs.resize(polygon.size());
						Vector<Color> colors;
						colors.resize(polygon.size());
						colors.fill(Color(1.0, 1.0, 1.0, 1.0));
						Array a;
						a.resize(Mesh::ARRAY_MAX);
						a[Mesh::ARRAY_VERTEX] = polygon;
						a[Mesh::ARRAY_TEX_UV] = uvs;
						a[Mesh::ARRAY_COLOR] = colors;
						a[Mesh::ARRAY_INDEX] = Geometry2D::triangulate_polygon(polygon);
						mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, a, Array(), Dictionary(), Mesh::ARRAY_FLAG_USE_2D_VERTICES);
						terrain_peering_bits_meshes[terrain_mode][bit] = mesh;
					}
				}