update-alternatives --remove <alternative> foo is called in the postrm. This can be dangerous because at the time the postrm is executed foo has already been deleted and update-alternatives will ignore it while constructing its list of available alternatives. Then, if the /etc/alternatives symlink points at foo, update-alternatives won't recognize it and will mark the symlink as something site-specific. As such, the symlink will no longer be updated automatically and will be left dangling until update-alternatives --auto <alternative> is run by hand.
update-alternatives --remove should be called in the prerm instead.
Refer to Debian Policy Manual (Alternative versions of an interface -
update-alternatives (from old Packaging Manual)) and the update-alternatives(8) manual page for details.