What Gordon says about packets not being sent makes sense to me - when a keystroke is missed it's the "press" that is not sent, and when it's keystrokes repeating it is the "release" missing. That is also confirmed by the fact that it can usually be stopped by pressing the button again once or twice.
I also have the impression it depends on distance between the Bangle and the BT dongle. As soon as I get 2 or 3 m between the watch and the dongle it seems there is slightly more latency, and the misses/repeats become more frequent. @Franzo: Do you have a lot of distance between your watch and the BT receiver when this happens?
I can try with a Windows machine and see if there's any difference.