AB1805_Rk and the Hardware WDT in Version OS 5.30

So if your issue is you are not resetting the device when you are not "connected", then I'd suggest you review this example firmware for the AB1805: GitHub - rickkas7/AB1805_RK: Library for AB1805/AM1805 RTC/Watchdog for Particle devices

Specifically this portion of the code:

    // Monitor the cloud connection state and do a deep power down if a 
    // failure to connect exceeds connectMaxTime (typically 11 minutes).
    if (Particle.connected()) {
        if (!cloudConnected) {
            cloudConnected = true;
            uint32_t elapsed = (uint32_t)(System.millis() - cloudConnectStarted);
            Log.info("cloud connected in %lu ms", elapsed);
        }
    }
    else {
        if (cloudConnected) {
            cloudConnected = false;
            cloudConnectStarted = System.millis();
            Log.info("lost cloud connection");
        }
        uint32_t elapsed = (uint32_t)(System.millis() - cloudConnectStarted);
        if (elapsed > connectMaxTime.count()) {
            Log.info("failed to connect to cloud, doing deep reset");
            delay(100);
            ab1805.deepPowerDown();
        }
    }

Notice here that within the user application code, there is additional logic that detects it's unable to establish a cloud connection for 11 minutes and if so, then call AB1805.DeepPowerDown(). In the example, this pulls the EN low for 30 seconds completely power cycling both the MCU and R510 Cellular modem. Do you have something like this?

On a related note, where do you pet the WTD? Are you simply petting it every loop or only when the device is connected/successfully publishes data?

If you continuously pet both the AB1805 watchdog as well as the hardware WDT. Then from a watchdog perspective, the device is happy since it's always getting pet.