Thank-you for the private and forum replies with various suggestions. Suggesions were in two flavours: 1) Add OutboundBindAddress - no efect. I did not expect this to have an effect as it only addresses the outbound bind address. 2) Problem is with nyx pointing to https://github.com/torproject/nyx/issues/9 - I am highly skeptical. If the nyx connection list was lumping together inbound and outbound connections and simply labeling them all as outbound, it would still show the port number on my side as my ORPort and the port number on the other side as a random port. This is not the case. In my case for ALL connections my port is random and the other port is always an ORPort number.
I downloaded and installed stem, and ran the connection checking script from https://stem.torproject.org/tutorials/examples/relay_connections.html - whereas in issue #9 above there were actual incoming connections and nyx didn't report them, but the python relay connection script did. In this case, it shows only outbound connections:
# python3 ./rc.py 0.4.8.13 uptime: 34:36 flags: Fast, Running, V2Dir, Valid
+------------------------------+------+------+ | Type | IPv4 | IPv6 | +------------------------------+------+------+ | Outbound to a relay | 1807 | 0 | | Outbound uncategorized | 2588 | 1703 | +------------------------------+------+------+ | Total | 4395 | 1703 | +------------------------------+------+------+
More parsimonious explanation fitting the evidence is a bug on ORPort directive which causes it to enable NoListen.