After some more digging I am still unable to get the same solver setup using the same set of parameters. This time trying with tsfc for the form compiler (an old fork though: git+
). Even with the same quadrature degree and the same form I get different SNES function norms in the very first solving step. Note that there are no convergence issues in the first step but eventually there are later.  
Though with different PETSc versions should I expect similar convergence behavior ?
There is very little difference in my formulation since most of it is in UFL syntax. I will keep looking ... In the meantime, here are the outputs --
Solving nonlinear variational problem.
  0 SNES Function norm 4.048156097083e+03 
  1 SNES Function norm 7.701194025455e+01 
  2 SNES Function norm 9.032060723182e-02 
  3 SNES Function norm 2.188411552504e-08 
  PETSc SNES solver converged in 3 iterations with convergence reason CONVERGED_FNORM_RELATIVE.
and the codes (I will try to reduce these further as they still are far from minimal (~ 30 lines))
Dolfin (petsc4py version: 3.12.0): 
import numpy as np
from dolfin import *
parameters["form_compiler"]["cpp_optimize"] = True
parameters["form_compiler"]["quadrature_degree"] = 5
parameters["form_compiler"]["representation"] = "tsfc"
parameters["linear_algebra_backend"] = "PETSc"
snes_solver_parameters = {"nonlinear_solver": "snes",
                          "snes_solver": {"linear_solver": "lu",                                          "maximum_iterations": 50,
                          "report": True,
                          "line_search": 'basic',
                          "error_on_nonconvergence": True}
                          }
def Psi(u, p, Cv):
    I = Identity(3)  
    F = I + grad(u)
    C = F.T * F
    Cv_inv = inv(Cv)
    I1 = tr(C)
    JF = det(F)
    Ie1 = inner(C, Cv_inv)
    Je = JF / sqrt(det(Cv))
    Jstar = (lam1 + p + sqrt((p + lam1)**2 + 4 *
             lam1 * (mu1 + mu2))) / (2 * lam1)
    psi_Eq = ((3**(1 - alph1)) / (2 * alph1)) * mu1 * (I1**alph1 - 3**alph1) +\
        ((3**(1 - alph2)) / (2 * alph2)) * mu2 * (I1**alph2 - 3**alph2) -\
        (mu1 + mu2) * ln(Jstar) + 0.5 * lam1 * (Jstar - 1)**2
    psi_Neq = ((3**(1 - a1)) / (2 * a1)) * m1 * (Ie1**a1 - 3**a1) +\
        ((3**(1 - a2)) / (2 * a2)) * m2 * (Ie1**a2 - 3**a2) -\
        (m1 + m2) * ln(Je)
    W_hat = (psi_Eq + p * (JF - Jstar) + psi_Neq) * dx
    return W_hat
mesh = UnitCubeMesh(3, 3, 3)
W1 = VectorElement('CG', mesh.ufl_cell(), 2)
W2 = FiniteElement('CG', mesh.ufl_cell(), 1)
W3 = TensorElement("DG", mesh.ufl_cell(), 0)
V = FunctionSpace(mesh, W1 * W2)
V_Cv = FunctionSpace(mesh, W3)
du, dp = TrialFunctions(V)         
dw = TrialFunction(V)
v, ph = TestFunctions(V)           
wh = TestFunction(V)
w = Function(V)                    
u, p = split(w)
Cv = Function(V_Cv)
Cv.interpolate(Constant(np.eye(3)))
left_fc = CompiledSubDomain(
    "near(x[0], 0.) && on_boundary"
)
right_fc = CompiledSubDomain(
    "near(x[0], 1.) && on_boundary"
)
bottom_fc = CompiledSubDomain(
    "near(x[1], 0.) && on_boundary"
)
back_fc = CompiledSubDomain(
    "near(x[2], 0.) && on_boundary"
)
strtch = Constant(0.0)
bc_right = DirichletBC(V.sub(0).sub(0), strtch, right_fc)
bc_left = DirichletBC(V.sub(0).sub(0), Constant(0.0), left_fc)
bc_bottom = DirichletBC(V.sub(0).sub(1), Constant(0.0), bottom_fc)
bc_back = DirichletBC(V.sub(0).sub(2), Constant(0.0), back_fc)
bcs = [bc_right, bc_left, bc_bottom, bc_back]
# Material Properties VHB4910
mu1 = Constant(13.54 * 1e3)
mu2 = Constant(1.08 * 1e3)
lam1 = Constant((mu1 + mu2) * 10**3)  
alph1 = Constant(1.)
alph2 = Constant(-2.474)
m1 = Constant(5.42 * 1e3)
m2 = Constant(20.78 * 1e3)
a1 = Constant(-10.)
a2 = Constant(1.948)
K1 = Constant(3507 * 1e3)
K2 = Constant(1.0 * 1.e-12)
bta1 = Constant(1.852)
bta2 = Constant(0.26)
eta0 = Constant(7014 * 1e3)
etaInf = Constant(0.1 * 1e3)
S = derivative(Psi(u, p, Cv), w, wh)
Jac = derivative(S, w, dw)
problem = NonlinearVariationalProblem(S, w, bcs, J=Jac)
solver = NonlinearVariationalSolver(problem)
solver.parameters.update(snes_solver_parameters)
lamdot = 0.01        # Loading Rate
Tfinal = 2 * (2 / lamdot)
n_count = 101
dt = Tfinal / (n_count - 1)
timeVals = np.linspace(0, Tfinal, n_count)
stretchVals = np.hstack((lamdot * timeVals[:len(timeVals) // 2], lamdot *
                        (-timeVals[len(timeVals) // 2:] + 2 * timeVals[len(timeVals) // 2])))
strtch.assign(stretchVals[1])
solver.solve()
u, p = w.split()
Firedrake (petsc4py version: 3.15.1)
import numpy as np
from firedrake import *
parameters["form_compiler"]["quadrature_degree"] = 5
snes_solver_parameters ={"snes_type": "newtonls",
                         "ksp_type": "preonly",
                         "pc_type": "lu",
                         "snes_max_it": 50,
                         "snes_linesearch_type": "basic",
                         "snes_monitor": None,
                         "snes_converged_reason": None}
def Psi(u, p, Cv):
    I = Identity(3) 
    F = I + grad(u)
    C = F.T * F
    Cv_inv = inv(Cv)
    I1 = tr(C)
    JF = det(F)
    Ie1 = inner(C, Cv_inv)
    Je = JF / sqrt(det(Cv))
    Jstar = (lam1 + p + sqrt((p + lam1)**2 + 4 *
             lam1 * (mu1 + mu2))) / (2 * lam1)
    psi_Eq = ((3**(1 - alph1)) / (2 * alph1)) * mu1 * (I1**alph1 - 3**alph1) +\
        ((3**(1 - alph2)) / (2 * alph2)) * mu2 * (I1**alph2 - 3**alph2) -\
        (mu1 + mu2) * ln(Jstar) + 0.5 * lam1 * (Jstar - 1)**2
    psi_Neq = ((3**(1 - a1)) / (2 * a1)) * m1 * (Ie1**a1 - 3**a1) +\
        ((3**(1 - a2)) / (2 * a2)) * m2 * (Ie1**a2 - 3**a2) -\
        (m1 + m2) * ln(Je)
    W_hat = (psi_Eq + p * (JF - Jstar) + psi_Neq) * dx
    return W_hat
mesh = UnitCubeMesh(3, 3, 3)
W1 = VectorElement('CG', mesh.ufl_cell(), 2)
W2 = FiniteElement('CG', mesh.ufl_cell(), 1)
W3 = TensorElement("DG", mesh.ufl_cell(), 0)
V = FunctionSpace(mesh, W1 * W2)
V_Cv = FunctionSpace(mesh, W3)
du, dp = TrialFunctions(V)         
dw = TrialFunction(V)
v, ph = TestFunctions(V)           
wh = TestFunction(V)
w = Function(V)                    
u, p = split(w)
Cv = Function(V_Cv)
Cv.interpolate(Constant(np.eye(3)))
left_fc = 1
right_fc = 2
bottom_fc = 3
back_fc = 5
strtch = Constant(0.0)
bc_right = DirichletBC(V.sub(0).sub(0), strtch, right_fc)
bc_left = DirichletBC(V.sub(0).sub(0), Constant(0.0), left_fc)
bc_bottom = DirichletBC(V.sub(0).sub(1), Constant(0.0), bottom_fc)
bc_back = DirichletBC(V.sub(0).sub(2), Constant(0.0), back_fc)
bcs = [bc_right, bc_left, bc_bottom, bc_back]
# Material Properties VHB4910
mu1 = Constant(13.54 * 1e3)
mu2 = Constant(1.08 * 1e3)
lam1 = Constant((mu1 + mu2) * 10**3)  
alph1 = Constant(1.)
alph2 = Constant(-2.474)
m1 = Constant(5.42 * 1e3)
m2 = Constant(20.78 * 1e3)
a1 = Constant(-10.)
a2 = Constant(1.948)
K1 = Constant(3507 * 1e3)
K2 = Constant(1.0 * 1.e-12)
bta1 = Constant(1.852)
bta2 = Constant(0.26)
eta0 = Constant(7014 * 1e3)
etaInf = Constant(0.1 * 1e3)
S = derivative(Psi(u, p, Cv), w, wh)
Jac = derivative(S, w, dw)
problem = NonlinearVariationalProblem(S, w, bcs, J=Jac)
solver = NonlinearVariationalSolver(problem, solver_parameters=snes_solver_parameters)
lamdot = 0.01        # Loading Rate
Tfinal = 2 * (2 / lamdot)
n_count = 101
dt = Tfinal / (n_count - 1)
timeVals = np.linspace(0, Tfinal, n_count)
stretchVals = np.hstack((lamdot * timeVals[:len(timeVals) // 2], lamdot *
                        (-timeVals[len(timeVals) // 2:] + 2 * timeVals[len(timeVals) // 2])))
strtch.assign(stretchVals[1])
solver.solve()
u, p = w.split()