I think `MIB_IF_TYPE_PPP` means a [Point-to-Point protocol](https://en.wikipedia.org/wiki/Point-to-Point_Protocol) interface (like what we used to use for dialup), whereas the Linux `IFF_POINTOPOINT` means that an interface is "a direct link between two machines with nobody else listening on it" (see the `ifconfig(8)` man page).
But even though VPN interfaces are of course not using PPP, for some reason Windows actually does advertise them as `IF_TYPE_PPP`. [Chromium](https://source.chromium.org/chromium/chromium/src/+/main:net/dns/dns_config_...) searches for `IF_TYPE_PPP` interfaces to detect whether a VPN is running.
(I also took a look at the Wireguard-NT source, it advertises itself as [`IF_TYPE_PROP_VIRTUAL`](https://git.zx2c4.com/wireguard-nt/tree/driver/device.c#n479) but I guess Windows squashes that down into `MIB_IF_TYPE_PPP` for `GetAdaptersAddresses()`)
It't not obvious at all, but this does seem to be correct for VPN interfaces. Looking at the Linux source, wireguard and tun interfaces both use `ARPHRD_NONE`+`IFF_POINTOPOINT`, and `IF_TYPE_PPP` is the right Windows type for those.