Going back through my command history revealed that - 4 months earlier - I'd configured transparent proxying on the first interface. e.g.
sudo iptables -t nat -A PREROUTING -i ens160 -p tcp --dport 80 -j REDIRECT --to-port 8080
Re-reading [https://docs.mitmproxy.org/stable/howto-transparent/] gave a bit of background.
I used a destination match to determine the port for Mitm to listen on, e.g.:
sudo iptables -t nat -A PREROUTING -i ens192 -p tcp -m tcp -d x.88.164.10 --dport 443 -j REDIRECT --to-ports 8082
Having added the second NIC, with two addresses, for both ports, sudo iptables -t nat -L
looked like:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere this.host tcp dpt:http redir ports 8080
REDIRECT tcp -- anywhere this.host tcp dpt:https redir ports 8080
REDIRECT tcp -- anywhere this.host tcp dpt:http redir ports 8081
REDIRECT tcp -- anywhere this.host tcp dpt:https redir ports 8081
REDIRECT tcp -- anywhere this.host tcp dpt:http redir ports 8082
REDIRECT tcp -- anywhere this.host tcp dpt:https redir ports 8082
Requests are now picked up on either interface, including the IP alias.
sudo iptables-save changes permanent.
I almost feel like I understand what's going on now...