Error::to_string() should internally call strerror_r if it was derived from a libc error code. This will give the error code description irrespective of which ErrorKind it maps to.
There are a bunch of errno codes that are defined only for backward source compat with obsolete oddities like RFS and STREAMS; current kernels will never generate them. I don't think we need those in ErrorKind. Unfortunately there's no easy way to know which ones they are.