Nevermind, my previous post is a false positive. The problem is still 100% present.
I forgot I had enabled a queue-tree on ether1/wan when I was messing around. If I leave thate cake queue enabled, I get near total throughput on upload (my ISP gives me 300Mb symmetrical):
Latency: 9.64 ms (0.17 ms jitter)
Download: 286.50 Mbps (data used: 129.2 MB )
Upload: 264.93 Mbps (data used: 283.2 MB )
Packet Loss: 0.0%
If I disable the queue-tree enabled on ether1/wan:
Latency: 4.69 ms (0.26 ms jitter)
Download: 284.93 Mbps (data used: 128.8 MB )
Upload: 10.07 Mbps (data used: 11.1 MB )
Packet Loss: 0.0%
Apologies for the false hopes. Although it is interesting that assigning a queue to the ether1 interface makes that huge of a difference.
Ether1 is still totally broken, then.