Limiting an interface to be 'half-duplex' then adding speed limitations on download/upload does not seem to work intuitively. Using iperf as a testing tool it seems that only one, either upload or download is limited. ( in my case, eth0 download speeds are limited, upload is not) I am not sure whether I misunderstood how QoS is supposed to work, or whether there is a bug in qos-scripts/generate.sh.
I've been playing around with the Luci model and logic. If I was sure this was a bug, I would try to fix it, or at least register an issue, so someone takes a look at it. Guess it mostly boils down to academic interest.