### Godot version

4.2.dev3.official[013e8e3af]

### System information

Godot v4.2.dev3 - Arch Linux #1 SMP PREEMPT_DYNAMIC Fri, 11 Aug 2023 11:03:36 +0000 - X11 - GLES3 (Compatibility) - NVIDIA GeForce RTX 2060 (nvidia; 535.98) - Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz (16 Threads)

### Issue description

`TileMap.get_used_cells_by_id()` seems not work as expected.
It seems that this method will return the same result as "TileMap.get_used_cells()" since Godot 4.2dev2.
The arguments  (`source_id: int`, `atlas_coords: Vector2i`, `alternative_tile: int`) of `get_used_cells_by_id()` seems not make the filter working as expected.  It would only return the same result as `get_used_cells()`, contains all the tiles on the layer.

### Steps to reproduce

1. create a tilemap scene
2. attach a tileset, that contains  at least 2 tiles , paint some tiles.
3. calls Tilemap.get_used_cells_by_id(layer, source_id, atlas_coords,alternative_tile)
4. run it

### Minimal reproduction project

run tile_map.tscn by Godot4dev3 (or custom build)
[tilemap_debug.zip](https://github.com/godotengine/godot/files/12369631/tilemap_debug.zip)

rs->canvas_item_add_set_transform(p_quadrant->debug_canvas_item, cell_to_quadrant);
				for (int layer_index = 0; layer_index < tile_set->get_navigation_layers_count(); layer_index++) {
					Ref<NavigationPolygon> navigation_polygon = tile_data->get_navigation_polygon(layer_index);
					if (navigation_polygon.is_valid()) {
						Vector<Vector2> navigation_polygon_vertices = navigation_polygon->get_vertices();
						if (navigation_polygon_vertices.size() < 3) {
							continue;
						}
						for (int i = 0; i < navigation_polygon->get_polygon_count(); i++) {
							
							Vector<int> polygon = navigation_polygon->get_polygon(i);
							Vector<Vector2> debug_polygon_vertices;
							debug_polygon_vertices.resize(polygon.size());
							for (int j = 0; j < polygon.size(); j++) {
								ERR_FAIL_INDEX(polygon[j], navigation_polygon_vertices.size());
								debug_polygon_vertices.write[j] = navigation_polygon_vertices[polygon[j]];
							}
							
							Color random_variation_color = debug_face_color;
							if (enabled_geometry_face_random_color) {
								random_variation_color.set_hsv(
										debug_face_color.get_h() + rand.random(-1.0, 1.0) * 0.1,
										debug_face_color.get_s(),
										debug_face_color.get_v() + rand.random(-1.0, 1.0) * 0.2);
							}
							random_variation_color.a = debug_face_color.a;
							Vector<Color> debug_face_colors;
							debug_face_colors.push_back(random_variation_color);
							rs->canvas_item_add_polygon(p_quadrant->debug_canvas_item, debug_polygon_vertices, debug_face_colors);
							if (enabled_edge_lines) {