I have used a few VPN services in the past, and one thing I have noticed in their clients is that they often feature a "killswitch", in order to kill your internet connection in case the VPN ever goes down, to prevent the user from not noticing that the VPN has died, and accidentally sending traffic through an insecure channel. That makes sense to me - most OS's, if they detect one connection go down will automatically switch to whatever else is available.
What I don't understand is, if this is such a prominent need for VPN connections, why don't OS's seem to have this feature "baked in"? Some way to say, "Send ALL TRAFFIC through this one tunnel interface, and NO OTHER INTERFACES should be used." It seems like in many use-cases for VPNs, the ability to direct ALL traffic through the tunnel (and none through ANY other interface) is critical.
I have seen workarounds with e.g. setting up routing tables in Linux to accomplish this, but it seems like such a strong need that one would expect OS's to have it baked into the VPN settings.
Is there simply not demand for this feature at the OS level? Or is there some technical reason why it is particularly difficult/tricky to implement?