handleDeepLink
Applies a deep-link backstack.
If the path's root is a top-level tab (Connections/Nodes/Map/Settings/Messages), switch to that tab and replace its stack with the full path. If the root is instead a nested route that no tab owns — e.g. FirmwareGraph (reached from both Settings and Connections) or WifiProvision — push the path onto the current tab's stack rather than switching currentTabRoute to a key that has no backstack. Doing the latter made activeBackStack throw Stack for <route> not found and crashed the app on those deep links (e.g. meshtastic://.../firmware/update).