Async_set_unique_id doesn't seem to set unique ID's

I’ve got a custom integration i’m working on, but the async_set_unique_id method doesn’t seem to be working as intended.

In my async_step_ssdp flow, I do the following:

LOGGER.debug("Evonic SSDP serial %s", serial)
await self.async_set_unique_id(serial)
self._abort_if_unique_id_configured(updates={CONF_HOST: url.host})
LOGGER.debug("Evonic Serial not unique")

If I setup the integration using SSDP, it logs out the following

2022-12-20 08:53:29.415 DEBUG (MainThread) [custom_components.evonic] Evonic SSDP serial 1234567-1234567
2022-12-20 08:53:29.415 DEBUG (MainThread) [custom_components.evonic] Evonic Serial not unique
2022-12-20 08:53:29.415 DEBUG (MainThread) [custom_components.evonic] Evonic SSDP url 192.168.1.190

However what I then find, if I restart Home Assistant, my component pops up again as it’s triggered the SSDP flow, and I see the exact same thing in the logs:

2022-12-20 08:53:29.415 DEBUG (MainThread) [custom_components.evonic] Evonic SSDP serial 1234567-1234567
2022-12-20 08:53:29.415 DEBUG (MainThread) [custom_components.evonic] Evonic Serial not unique
2022-12-20 08:53:29.415 DEBUG (MainThread) [custom_components.evonic] Evonic SSDP url 192.168.1.190

Anyone know what could be causing this?