You need to be careful trying to put a percentage on such a small sample. It isn't particularly representative. Your statement was based on 2 packets missing.
It is fairly straightforward to cause at least 1 missing packet manually. All you have to do is hit ctrl-c after a packet has been sent out, but before the answer has been received. On 200ms response times, that would have a 1-in-5 chance, or 20%. On 20ms response times it would be a 1-in-50 chance, or 2%.
And packet loss when pinging an innocent third-party, who might be deliberately choosing to drop packets anyway, isn't the best way to show packet loss over your own link. The BQM does a much better job of informing you about that, because you are in control of both the link and the ping target (your own router).
Stanman's BQM isn't showing any packet loss; I don't see even 1% during the evening peak time. I don't think packet loss is an aspect that ought to worry him
Comparing his graph to
the ones published by Plusnet for a group of users, it seems to have been quite a busy night over there. (You'll have to compare soon, as all the graphs are live, and the peaks are gradually disappearing. Robertos - yours looks bad, given that even the minimum latency was raised!)
But you're right that 22% packet loss is likely to be crippling to TCP throughput.
TCP might change the number of packets in flight as part of congestion control, but I've never heard of it actively dropping a packet. Given that its job is to ensure everything is received, that would be plain daft.