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,

  1. Confirm that the throughput is actually halved and
  2. Identify how the latency is distributed (between tx and rx)
    a. is it uniform over the test?
    b. is there a lumped stall somewhere?