I might have encountered a similar issue as yours. From my investigation, it seems to be due to BBR's round-based bandwidth estimation (
https://tools.ietf.org/id/draft-cheng-iccrg-delivery-rate-estimation-00.html). Basically, it records the amount of delivered data in m_nextRoundDelivered when sending data, and then compares it with those in TcpTxItem corresponding to the ACKed data, so as to approximately determine the end of a round as well as the amount of delivered data in the last round. There might be a dilemma here if the propagation time (RTprop) is high and/or the link is lossy (due to random loss or AQM drops). If the SndBufSize is not large enough, the link is starved and then the bandwidth is obviously underestimated, leading to a reduced throughput. On the other hand, if the buffer is very large, then packet loss may occur due to the bursty traffic (even paced) crossing the default AQM (FqColDel). This may also result in instantaneous underestimated bandwidth because some data is not delivered (lost). Due to the long RTprop, the low estimation may last for a long time and hence the maximum bandwidth estimation is lowered. Overall, my experience is that ns-3's BBR over links with long RTprop is poor (and even worse if there are random packet losses).
These are not rigorously verified though. Just for your reference. It might be helpful to print out the estimated (max) bandwidth in your experiment to further verify. Hope it helps.