@john345463563, you should run true bed levelling (G32) before you run mesh bed compensation (G29). Otherwise the mesh will compensate for the bed as it was before you ran G32 to level it.
The order in which you have defined Z motors in M584 must be the same as the order in which you have defined leadscrew positions in M671. Try running G32 more than once and look at the reported corrections. They should reduce with each run. If they increase instead, you have defined those two sets of parameters in different orders.