### Godot version

v4.2.rc2.official [1ba920fad]

### System information

Godot v4.2.rc2 - macOS 14.1.1 - Vulkan (Forward+) - integrated Apple M1 - Apple M1 (8 Threads)

### Issue description

Crash when trying to use "cell_quadrant_size".

The same project works without problems in 4.1.3

### Steps to reproduce

Open the attached project and run it, it'll crash. "Invalid get index"
![スクリーンショット 2023-11-27 16 35 07](https://github.com/godotengine/godot/assets/106015575/50d38ceb-0e6e-49bc-96dc-60abd1d2b6c0)

Here is what the same project looks like when launched from 4.1.3:
![image](https://github.com/godotengine/godot/assets/106015575/4e7e1f1a-ad5b-40ab-90ae-35130c803f09)

### Minimal reproduction project

[engage bug 03.zip](https://github.com/godotengine/godot/files/13471828/engage.bug.03.zip)

const Ref<TileSet> &tile_set = tile_map_node->get_tileset();
	Transform2D gl_transform = tile_map_node->get_global_transform();
	RID space = tile_map_node->get_world_2d()->get_space();
	PhysicsServer2D *ps = PhysicsServer2D::get_singleton();
	
	TileMapCell &c = r_cell_data.cell;
	TileSetSource *source;
	if (tile_set->has_source(c.source_id)) {
		source = *tile_set->get_source(c.source_id);
		if (source->has_tile(c.get_atlas_coords()) && source->has_alternative_tile(c.get_atlas_coords(), c.alternative_tile)) {
			TileSetAtlasSource *atlas_source = Object::cast_to<TileSetAtlasSource>(source);
			if (atlas_source) {
				const TileData *tile_data;
				if (r_cell_data.runtime_tile_data_cache) {
					tile_data = r_cell_data.runtime_tile_data_cache;
				} else {
					tile_data = atlas_source->get_tile_data(c.get_atlas_coords(), c.alternative_tile);
				}
				
				for (unsigned int i = tile_set->get_physics_layers_count(); i < r_cell_data.bodies.size(); i++) {
					RID body = r_cell_data.bodies[i];
					if (body.is_valid()) {