On point 2: socket programming hasn't caught up to the same level of performance as Flash had. Try sending or receiving gigabits per second with WebSockets. In my own tests last year on reasonably modern hardware with a 10Gbps Intel NIC, Chrome was the worst performer (around 3Gbps before the CPU was completely saturated), and Edge was the best at around 5.5Gbps. I didn't compare with Flash last year to be fair, but historically it was much better. A native app on the same hardware was generating 10Gbps over the network at <20% CPU usage.
This is the kind of stuff I find baffling. We killed off Flash, celebrated, and said that xyz will do the same thing as Flash did. Several years later xyz does not do what Flash did. We don't even have all the pieces to put the puzzle together, let alone have them come in one package.
I really hate that I can't do UDP properly in the browser. I've seen so many examples of people effectively sending protobufs over webrtc data channels. It's kinda hilarious.
I find it more likely to be a security or battery performance related tweak. Most things just aren't going to generate peek bandwidth from within a web browser. Network testing tools (including bandwidth/latency testing) belong as native apps, probably precisely for the low level, high bandwidth access.