I've sorted it, but haven't determined the exact cause of the problem.
TL;DR
When the WiFi card or WifFi dongle is installed at the back of the PC -- within 10cm of the DP Cable -- the WiFi connection plummets or simply doesn't work.
When the the WiFi dongle is plugged in at the front of the PC -- away from the DP Cable -- the connection is fine.
borrow/get a USB ethernet or WiFi adapter and see if the problem persists with that.
So yesterday this is exactly what I did. I picked up a cheap USB WiFi dongle to see if the problem was with my WiFi card. (I'd been in touch with the cable manufacturer and they insisted that the problem couldn't be with their cable, that instead it must be with my WiFi card.)
I first plugged the WiFi dongle into the front of the PC. Within 20 seconds it connected to my router. I then tested the connection by streaming some video, downloading some files, and playing some online games. Everything was swift and stable.
I then took the WiFi dongle and plugged it into one of the rear USB ports. These are within about 10cm of the DP Cable. At first it connected without any issues. After about 30 seconds however I started to notice the same old problems. Videos started to buffer or wouldn't load at all, and download speeds plummeted to negligible levels. Before I could even test an online game the connection had been lost, and I was subsequently unable to reconnect to the network. This confirmed that the issue wasn't with my original WiFi card, and that it must have something to do with the WiFi receivers being in close proximity to the DP Cable.
So what's the exact issue? I still don't know. Again, my hunch remains that -- as weird as it sounds -- the cable must be faulty. Either that, or there's an issue with the GPU. All three DP ports produce the same results though, and everything is fine with the HDMI cable, so i'm still inclined to think the issue is with the DP cable.
I suppose the next step is to test another DP Cable, one from the same manufacturer and maybe one from another. If the results are the same then I guess the issue must be something internal...