Smartthings is a cloud-based system. Just about everything runs the logic in the cloud except for a few set ups using the official smart lighting feature.
Your phone was not in communication with the hub by Wi-Fi. The hub does not have a Wi-Fi antenna. Moreover, when the hub cannot reach the SmartThings cloud, the SmartThings mobile app cannot control anything on the hub even if it is on your local network. Unplug the hub from your router and try it. Technically, they certainly could, but that’s not how SmartThings is designed. ( feel free to call that the design flaw, many people do.)
During an internet outage, the Hub will not be able to talk to the SmartThings cloud or mobile app; you will not be notified via the app of a local event until internet is restored.
In this particular case, it is the cloud that determines whether the status of the arrival sensor device is “present” or "away. The arrival sensor pings the hub every 30 seconds. That’s literally all it does. It is the cloud that counts the number of pings and decides when too many have been missed, and at that point it is the cloud that marks the sensor as away. The number of pings that must be missed before the arrival sensor away status is set is an adjustable variable, so you can have support set it to about two minutes (3 missed check ins) to help avoid some of the phantom leaving/arriving incidents. But if your Internet is unavailable for longer than that, the arrival sensor will be marked in the cloud as away.
Then when your hub comes back online, the very next check in from the arrival sensor will be treated as an arrival, and status of the sensor will be changed to present again.
That’s why the arrival sensor being able to communicate with the hub isn’t enough to maintain the “present” status. With this, as with many things in SmartThings, it’s the cloud that does the tracking.