I think browsers usually don't have configurable buffer sizes for streaming. If you can get the video URL out of the browser, you could stream with mpv or something.
mpv --cache-secs=15 http://example.org/video.mp4
mpv has several other cache-tuning options.
As far as using a VPN: your ISP still sees the traffic. It just doesn't see that it's an HTTP request, and even deep packet inspection won't be able to tell that it's streaming video. I think most ISPs, if they do any QoS-based traffic shaping, would prioritize streaming audio/video to prevent annoyances when realtime matters, unlike torrent downloads. So putting your traffic inside a VPN would if anything make it worse, in most cases, I'd expect.