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

polygon = _get_isometric_terrain_polygon(tile_size);
			} else {
				float overlap = 0.0;
				switch (tile_shape) {
					case TileSet::TILE_SHAPE_HEXAGON:
						overlap = 0.25;
						break;
					case TileSet::TILE_SHAPE_HALF_OFFSET_SQUARE:
						overlap = 0.0;
						break;
					default:
						break;
				}
				polygon = _get_half_offset_terrain_polygon(tile_size, overlap, tile_offset_axis);
			}
			{
				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);