Higher TCP latencies in the latest versions of Linux
This is not an answer but it is important to calibrate latency/throughput issues rigorously. It might help you get closer to the answer and even help others here give you better suggestions on the root-causing process.
Try getting more accurate data with a wireshark/tshark capture on the interface to,
- Confirm that the throughput is actually halved and
- Identify how the latency is distributed (between tx and rx)
a. is it uniform over the test?
b. is there a lumped stall somewhere?