If I’m not mistaken, when you’re mark connection first and then mark all packets belong this connection, then in packet marks you’re have src-address and dst-address, then apply this packet mark for outgoing or incoming interface and you’re have download or upload traffic. In other words you’re don’t have separate upload or download connections, just apply packet mark for upload or download interface. BUT if you’re using NAT (masquerade) you must separate upload and download traffic (in this connection, or use only packet marks).
my guess is that it may be more efficient to mark connection first and then look only at that connection when marking packets (it may be more efficient to look at connection and not every single packet)… but that’s just a guess…
Perhaps one of MIkrotik’s QoS/firewall expert could clarify that…?