Too Many values to unpack (expected 2)

I would suggest you have a look at: dolfinx/demo_stokes.py at main · FEniCS/dolfinx · GitHub
which shows you how to set up the variational form for a coupled problem.
You can combine this with:
Implementation — FEniCSx tutorial
or
Custom Newton solvers — FEniCSx tutorial
to create your fully coupled solver.

When you solve non-linear problems, you cannot use TrialFunctions in your variational form. You have to use a function, and use u, p = ufl.split(w), as the residual F has to be differentiated when forming the Jacobian used in Newton’s method.