### Godot version

4.1.x

### System information

Windows 11

### Issue description

When a Tilemap node is attached as a child node of PathFollower2D node, with `collision_animatable` on in the inspector, the tilemap will stuck at (0, 0) if you scripted the movement of the PathFollower2D node with `progress` changed; while the tiles run as usual if `collision_animatable` is **false**.
This is very weird because the documentation said that "you can make Animatablebody2D move with script", and I used but it feedbacked a strange result, which is unacceptable and unwilling to see.
More detailed info please see the minimal project

P.S. Only under PathFollower2D, you add a RemoteTransformer2D that linked to a Tilemap can the tiles move as usual with `collision_animatable` on.

### Steps to reproduce

In the minimal reproduction project:

1. Make the `collision_animatable` of Tilemap and run the project, and you can see the tilemap moves as usual
2. Then tick on the property and run the game again, in which you can see the tilemap stuck at (0, 0) permanently.

### Minimal reproduction project

[bug report.zip](https://github.com/godotengine/godot/files/12094949/bug.report.zip)
Ref<ConvexPolygonShape2D> get_collision_polygon_shape(int p_layer_id, int p_polygon_index, int shape_index) const;
	
	void set_terrain_set(int p_terrain_id);
	int get_terrain_set() const;
	void set_terrain(int p_terrain_id);
	int get_terrain() const;
	void set_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit, int p_terrain_id);
	int get_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const;
	bool is_valid_terrain_peering_bit(TileSet::CellNeighbor p_peering_bit) const;
	TileSet::TerrainsPattern get_terrains_pattern() const; 
	
	void set_navigation_polygon(int p_layer_id, Ref<NavigationPolygon> p_navigation_polygon);
	Ref<NavigationPolygon> get_navigation_polygon(int p_layer_id) const;
	
	void set_probability(float p_probability);
	float get_probability() const;
	
	void set_custom_data(String p_layer_name, Variant p_value);
	Variant get_custom_data(String p_layer_name) const;
	void set_custom_data_by_layer_id(int p_layer_id, Variant p_value);
	Variant get_custom_data_by_layer_id(int p_layer_id) const;
};
VARIANT_ENUM_CAST(TileSet::CellNeighbor);
VARIANT_ENUM_CAST(TileSet::TerrainMode);
VARIANT_ENUM_CAST(TileSet::TileShape);
VARIANT_ENUM_CAST(TileSet::TileLayout);
VARIANT_ENUM_CAST(TileSet::TileOffsetAxis);
VARIANT_ENUM_CAST(TileSetAtlasSource::TileAnimationMode);
#endif