Well, this is turning in to rather more of a performance than I anticipated. Hurdles that I have encountered so far include the following.
1) My bike turns out to use a non-standard Bosch chainring with a 3mm offset, due to the boost frame geometry. I only discovered that when I scraped all the accumulated crud off (but that was too late to avoid mishap number 3 below). So the non-offset one has gone back to the supplier, and I've ordered up an offset one - at more than twice the price of the 'flat" one. Ouch.
2) I never realised before now that most torque wrenches don't work for torquing up left-hand threads. The chainring lockring is a left-hand thread, and needs to be done up to ~22kN. The tool for doing this has a ½" square drive. I do have a ½" square drive "push through" torque wrench that will torque up left-hand threads, but it doesn't go down to 22kN. So I've had to order up a new push-through ⅜" drive low range torque wrench to get the thing done up properly (with the help of a ½" drive adapter). But hey: new tools are always a good thing, right?
3) When I say "done up properly", I mean that I initially attempted to do it up anticlockwise (i.e. the correct way round) but using a right-hand-thread-only torque wrench, which doesn't "click" on left-hand threads even when the ratchet is switched to work that way (I presume this setting is solely intended to be used for unscrewing things). In combination with the non-offset chainring allowing the lockring to screw down too far towards the motor bearing, I managed to trash the O-ring that holds the chainring snug on its splined shaft. So I've ordered up a new O-ring as well.
It's all a learning experience.
On the plus side, I have used the downtime while I wait for the new tools and parts to arrive to clean up the jockey wheels on the rear derailleur, which were almost as full of crud as the chainring. My bad.
I'm also going take the opportunity to fit one of Bosch's external seals on the motor bearing - that's the seal that they didn't used to fit as standard, including on my bike's motor, until people started pointing out that its absence was resulting in a high number of failed motor units having to be replaced under warranty. I'm not aware of any problem with my motor (touch wood) but it seems to be a sensible and - if you've got the drivetrain in pieces anyway - fairly straightforward precautionary step.
The main takeaway from all this is that my drivetrain cleaning regime needs to be much more assiduous with this bike. Which is not hugely surprising given that I've been taking it on longer rides in significantly rougher and grubbier terrain than any previous bike I've had.