If I use DirectorUpdateMode.Manual, how can I change rig weight?

Welcome to a whole world of pain.

I have been working with a similar setup for the past 6 months and every few weeks this comes around to really really cause a lot of pain (either animation or rigging not working at all or like right now complete crashes of the engine).

As far as I can reconstruct it, if you manually evaluate the playable graph you are breaking the interleaving (and threading!) of rigbuilder and animator which causes one of both to write their default values while the other one has already cached their values for the current frame.
If you let unity just handle this they magically make this work as

I have a collection of threads dealing with parts of similar problems if you are interested, maybe some of the posts will help you figure out how to work around your problem.

If you want to go this route of manually updating you probably need to build the rig graph into the animator graph using
m_RigBuilder.Build(animator.playableGraph)

but be warned this crashes the editor for me when disabling and reenabling the character. All in all I would recommend you to just stay away from fiddling with Rigbuilder.Build and manual update mode completely, just let the engine do it’s thing, set everything to update as normal in solve your setup some other way.