It’s an intended behavior, snapd has a memory that tends to be sticky. You can see this hidden in the snap disconnect help:
When an automatic connection is manually disconnected, its disconnected state
is retained after a snap refresh. The --forget flag can be added to the
disconnect command to reset this behaviour, and consequently re-enable
an automatic reconnection after a snap refresh.
[disconnect command options]
--no-wait Do not wait for the operation to finish but just print the change id.
--forget Forget remembered state about the given connection.
I’d say it would be useful if remove also had this flag, so perhaps it’s a papercut.