How to force a handshake for OTA updates

The missing re-handshake you mentioned earlier might be caused by some data-saving regime that was incorporated a while ago.
The device builds a hash code of some session info and all variables, functions, subscriptions you set up and (sort of) sends this to the cloud.
On a later reconnect, the cloud hash will be compared against the local version and if they match the full handshake will be skipped.

A possible workaround would be to have some dummy subscription you “mutate” over time to cause a hash mismatch.