I'm going to answer my own question here and leave it for reference. This is because vpasolve returns a symbolic expression which is slightly different even though all digits (shown) are the same. Symbolic variables have no sense of tolerance and so this fails a straight-up variable comparison. This was fixed by changing the test to Matlab code as:
x1 = double(x1)
assessVariableEqual('x1', double(referenceVariables.x1))