V Androidu je ta možnost přímo součástí systému od Androidu 8.0 (Nastavení --> VPN --> zubaté kolečko vedle zvolené a nakonfigurované VPN --> "Always-on VPN" a "Block connections without VPN" ).
Jinak to uměla celá řada klientů sama - často to bylo označeno jako "kill switch". Minimálně OpenVPN client to má, VyprVPN a ještě další, které jsem ale už sám nezkoušel. ProtonVPN to sám od sebe neumí, spoléhá na systémové nastavení (viz výše).
Výhoda implementace na straně aplikace byla v tom, že často šlo VPN bypassnout pro určitý typ připojení, např. pro určité aplikace nebo pro rozsah IP adres. To řešení na úrovni systému tak komfortní není.
Na iOS nevím, ten nemám.