So, for your case this probably just means that you start your plugin in a controlled manner, after Verne is up (I suppose you start vmq_diversity just via the vernemq.conf file).
For the MQTT connection, there'll be a little bit of a timing issue. Unfortunately there's no boot states (like status "internal plugins started", or the like).
I can't guess the details that your plugins does, but it looks like you'd have to handle that connect/re-connect logic from the client side, to ensure you have the proper connections and subscriptions set up.
Note that a plugin can also grab the MQTT messages flowing through the broker directly (that is, with internal subscriptions, instead of explicitly connecting over MQTT). The vmq_bridge plugin would be an example for that. Your approach is also a valid option, of course. (I suppose your plugin does auth and some form of re-publishing over MQTT)