Move SetProtocolLayerCallback from InitiateSubscription to _prepareBinding

Make double sure the protocol callback is set on the binding object.
diff --git a/src/lib/profiles/data-management/Current/SubscriptionClient.cpp b/src/lib/profiles/data-management/Current/SubscriptionClient.cpp
index 393b083..f4dee8f 100644
--- a/src/lib/profiles/data-management/Current/SubscriptionClient.cpp
+++ b/src/lib/profiles/data-management/Current/SubscriptionClient.cpp
@@ -576,6 +576,9 @@
 {
     WEAVE_ERROR err = WEAVE_NO_ERROR;
 
+    // Make double sure the protocol callback is set on the binding object
+    mBinding->SetProtocolLayerCallback(BindingEventCallback, this);
+
     WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
                    GetStateStr(), __func__, mRefCount);
     _AddRef();
@@ -863,9 +866,6 @@
 {
     mConfig = kConfig_Initiator;
 
-    // Make double sure the protocol callback is set on the binding object
-    mBinding->SetProtocolLayerCallback(BindingEventCallback, this);
-
     if (IsRetryEnabled())
     {
         if (false == mBinding->IsPreparing())