(sorry @Knarf is not an answer to you but to the topic in general)
When I experimented this kind of disconnects, I was connected through wifi, and changing the wifi beacon interval helped in my case (that's why I am proposing it as a default Proposal to change the default wifi beacon interval from 100 ms to 50 ms )