Just want to confirm that this is still a problem, and that the second fix suggested by Michael Stone (specifically, expanding '@(br|eth)' into '@(br|eth|en)' in /etc/resolvconf/interface-order) would have avoided things breaking for me recently.
In my case, I was having problems due to conflicts between my own wired network settings in /etc/network/interfaces and the settings provided by NetworkManager. Looking at the contents of interface-order, its intent certainly appears to be for my wired network to have taken priority, and that wasn't what I was seeing. When calling 'resolvconf -u' from a system script (i.e. with LANG unset in the environment), 'list-records' would list my wired 'en' interface settings after the 'NetworkManager' entry. This caused me problems by putting NetworkManager's 127.0.1.1 nameserver entry first in resolv.conf. Unhelpfully, when trying to debug this from a terminal with LANG=en_GB.UTF-8, the opposite order was produced, hiding the problem. Patching interface-order to expand '@(br|eth)' into '@(br|eth|en)' fixes this behaviour, and lists my wired interface's settings first regardless of environment variable settings. (Michael also proposed a solution which listed the 'eno|ens|enp|enx' cases separately, but this would not have worked for me. My USB Ethernet dongles are all named 'enusb0' by a custom udev rule, to make them easier to manage than the default long 'enx${MAC_ADDR}' names, and they would not have been matched by that longer pattern.) Best regards, Paul.