### 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)
void _update_padded_texture();
protected:
	bool _set(const StringName &p_name, const Variant &p_value);
	bool _get(const StringName &p_name, Variant &r_ret) const;
	void _get_property_list(List<PropertyInfo> *p_list) const;
	static void _bind_methods();
public:
	
	virtual void set_tile_set(const TileSet *p_tile_set) override;
	const TileSet *get_tile_set() const;
	virtual void notify_tile_data_properties_should_change() override;
	virtual void add_occlusion_layer(int p_index) override;
	virtual void move_occlusion_layer(int p_from_index, int p_to_pos) override;
	virtual void remove_occlusion_layer(int p_index) override;
	virtual void add_physics_layer(int p_index) override;
	virtual void move_physics_layer(int p_from_index, int p_to_pos) override;
	virtual void remove_physics_layer(int p_index) override;
	virtual void add_terrain_set(int p_index) override;
	virtual void move_terrain_set(int p_from_index, int p_to_pos) override;
	virtual void remove_terrain_set(int p_index) override;
	virtual void add_terrain(int p_terrain_set, int p_index) override;
	virtual void move_terrain(int p_terrain_set, int p_from_index, int p_to_pos) override;
	virtual void remove_terrain(int p_terrain_set, int p_index) override;
	virtual void add_navigation_layer(int p_index) override;
	virtual void move_navigation_layer(int p_from_index, int p_to_pos) override;
	virtual void remove_navigation_layer(int p_index) override;
	virtual void add_custom_data_layer(int p_index) override;
	virtual void move_custom_data_layer(int p_from_index, int p_to_pos) override;
	virtual void remove_custom_data_layer(int p_index) override;
	virtual void reset_state() override;