I’ve found that it can take some minutes sometimes for NH to detect that a device is no longer on the network. Also, I’ve found it to frequently lose the connection to devices that are indeed connected to the network. How long do you wait for on NH to report that the device is no longer attached?
Also how are you verifying the switch state? I’ve found sometimes the web page doesn’t immediately refresh the current state of my presence switches and the Android app is even more hesitant to report the updated. If you aren’t looking at the logs it could be working but the UI is just not showing it yet. A refresh of the page or going into a subframe and back out again should refresh the page with the current states.
Finally, it is better to assign a static IP to your phone. If by “dhcp assigns to my cell phone” that your router always assigns the same IP to your phone’s mac address then you are good. If that is the IP that it happens to be assigning right now you may find that if your router ever gets rebooted that your phone gets a new IP address. You can set a static IP address in the advanced wifi settings on your phone.
If you have NH bound to a Switch the Switch should move from OFF to ON and back without a rule to check. The purpose of that example is to not set the parent Present switch to OFF until all of the child NH Switches have been off for five minutes. That is a really important rule to be aware of but it doesn’t address OP’s problem that his NH switch is not reflecting that his phone is actually off the network.