....(I think I should have about 4 BNB left but Binance says that I have about 9). Is there a possible explanation for this other than me being a muppet?
Maybe it's just the difference in timing of the report. Compare the dates you downloaded the report or its cut-off date to the time you had your last transaction.
Example,
June 30, 2022 - your balance was still 9 BNB.
July 1, 2022 - you sold 5 BNB
The coverage date of your tax report is until June 30 only.
I'm guessing the above sample is what happened in your case that's why you think it should only show 4 BNB.