These changes, or at least the first few, won't pick up interface removals which we might care about. It would probably be ok to cache the results for a second or so (and force an update if the interface isn't found).
A better approcach, which is on my todo list, would be a create a thread that listens on a netlink socket for interface changes (and figure out if there's an equivalent we could do on macOS). There used to be code in iphlpapi that I'd written to parse the netlink messages for Android that might be useful.