Last I checked there’s no good way to get detailed ‘why did I disconnect’ information from a VPN connection. For a provider-based VPN you could write the error information to disk in an App Group that you share between your provider and your app; that’s super ugly, but it’ll work.
Please do file an enhancement request requesting better support for this, then post your bug number, just for the record.
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"