Yeah it's a mess as a consumer you have to verify that even the most basic things work. Years ago I was using Nord when I discovered that it was silently failing to actually connect me to the VPN despite showing I had connected, so I reported the issue and they told me not to worry it was a known issue. To my knowledge, they never issued any security disclosures.
I work for IPinfo and am trying to find out if any open-source projects would implement this feature, particularly in a status bar configuration.
The implementation will be super simple. Set up your local IP address or IP address range (if you are on a dynamic IP address connection). Consistently call 'ipinfo.io/ip' every 5 seconds to check if the IP address is changing from your home IP address. You will get an alert if the IP address changes. So, when you turn on your VPN, this notification should alert you that your IP address has changed.
I would recommend using the 'ipinfo.io/ip' with a public IP address-based implementation as you can get a virtually infinite amount of queries. With just an 'ipinfo.io' query which gets you the location information as well, you get 1,000 queries without a token. This could work if you reduce the API call rate to a higher interval (not at a second level but only at a minute-level interval). But you do get the location information, which validates the VPN's location information.