[Darwin] Call ResetSharedConnection and not StartSharedConnection in src/platform/Darwin/DnssdHostNameRegistrar.cpp in order to properly unregister / register interfaces addresses (#22810)

diff --git a/src/platform/Darwin/DnssdHostNameRegistrar.cpp b/src/platform/Darwin/DnssdHostNameRegistrar.cpp
index a936521..a241579 100644
--- a/src/platform/Darwin/DnssdHostNameRegistrar.cpp
+++ b/src/platform/Darwin/DnssdHostNameRegistrar.cpp
@@ -272,7 +272,7 @@
     VerifyOrReturnError(!IsLocalOnly(), CHIP_NO_ERROR);
 
     return StartMonitorInterfaces(^(InetInterfacesVector inetInterfaces, Inet6InterfacesVector inet6Interfaces) {
-        ReturnOnFailure(StartSharedConnection());
+        ReturnOnFailure(ResetSharedConnection());
         RegisterInterfaces(inetInterfaces, kDNSServiceType_A);
         RegisterInterfaces(inet6Interfaces, kDNSServiceType_AAAA);
     });
@@ -355,6 +355,8 @@
 
 CHIP_ERROR HostNameRegistrar::StartSharedConnection()
 {
+    VerifyOrReturnError(mServiceRef == nullptr, CHIP_ERROR_INCORRECT_STATE);
+
     auto err = DNSServiceCreateConnection(&mServiceRef);
     VerifyOrReturnValue(kDNSServiceErr_NoError == err, Error::ToChipError(err));