Async_will_remove_from_hass method is not called when entity is moved

Hi all, I am developing a custom component which has only one platform “switch”.

I have defined a class extends SwitchDevice and implemented both “async_added_to_hass” and “async_will_remove_from_hass”.

When a new entity is created and then added to hass, “async_added_to_hass” will be called. But when I remove the newly added entity from HA frontend (The entities management page), “async_will_remove_from_hass” is not called.

I have also tried other components such as Cast (Chromecast), it seems CastDevice class’s “async_will_remove_from_hass” is also not called.

Is there anything I did wrong?