I was looking for this as well, but you can actually do it, just not Quite in the same way, and it's Way too much work. I'm writting a request to just open this up in nodes instead, but wanted to see if there was another way to do it.
So add the driver to the viewport display.
Create an rgb node. Right click and copy the full path (you'll only use half of it)
in the drivers editor, select R diffuse color.
expression is just var
change input variable to single property, named var
change the prop: to material and select the material (it's ok that it's the same material, so you don't need to create an extra one)
For the path paste your path, but delete everything before node-tree...
should look something like this: node_tree.nodes["RGB"].outputs[0].default_value[0]
Notice you'll have to add the [0] at the end. That tells it to use only the first value of RGBA. You should see the red value match now.
Move on to G and change that number to [1], and so on.
You can skip Alpha though, no point in matching 1.0 with 1.0 right? But up to you.
Now with all that, I'm hoping they can add viewport display options as input nodes to the material output node as an option. Because it would be a Heck of a lot easier to just connect them.
node_tree.nodes["RGB"].outputs["Color"].default_value[0]
(change the last [0] to [1] or [2] or [3] for g, b, a respectively) But it will be a dependency cycle if it drives something in the same material, so it's not functional in the example you've given. $\endgroup$