Well, the initial job is done. We ran into so many stumbling blocks I can't even remember them all but the gist of it is that I was able to do the barebones but not any of the "nice to haves". The primary issue was that the house doesn't have floorboards; it has tongue-and-groove floor panels, which are much harder to remove and replace without buying replacement panels. Essentially we couldn't do any of the preliminary work to find out what was viable and what wasn't because we couldn't just take up the floorboards and put them back afterwards.
The primary issue was finding a route from the first floor to the ground floor without taking up the floor panels. Eventually we discovered that there was a service box which contained a few pipes. Annoyingly, the floor panels ran through this too so it was not possible to create a route using a saw. However, the existing hole for the giant waste pipe had a bit of space around it, so I bought a cable rod access kit (best £25 spent on the entire project) and was able to feed the rods through an access port on both floors. In the end I got 8 cables through before it got pretty tight in there. Initially the plan was to route the cables behind the skirting (not having access to the floor) but 90% of the walls in the study were plasterboard on breeze blocks with no cavity. Thus, it was easier to route them in the carpet underlay instead and also move the faceplates to the two cavity walls instead (see diagram below).
After this, it was time to sort out downstairs but at this point we only had a few hours left. Again, breeze block got in the way and also routing in the skirting was impossible because the skirting is interrupted by the back doors. So we went under the carpet again and only ran two cables - there is other work to do downstairs, including recarpeting and painting the wall behind the TV, so I can add more later during that work. One cable runs to the BT master socket and the other runs to a Cat6 Euro module, which is not yet in a faceplate. We'll install a backbox in the breezeblock when doing the rest of the downstairs work in the future.
All my wired machines get 930-950 Mb/s using iPerf and file transfers of ~115 MB/s. I've included a bunch of photos of the work and results so far, plus the current layout schematic and network diagram.