You need to square the ‘fro’ norm, for instance by applying square_pos, to be equivalent to the others.

Other than that, when I run them, I get optimal objective values which seem to be within solver tolerance variation (which I deem to be similar enough), using either SeDuMi or SDPT3 with default tolerances. What are your optimal objective values?

The optimal values do look almost similar, 3.9880e-12, 3.2262e-11 and 5.0159e-09 for cases 1,2 and 3 (after squaring the fro term).
However, the solution X takes very different values.
For example in one realization,

I had assumed that equivalent forms meant that the same minima would be reached in each case. I understand that there is no unique solution here, but shouldn’t the three solutions be the same (to within a small error)?

The problems getting passed to the solver are not identical, even if they are mathematically equivalent optimization problems presuming exact arithmetic were being used. I defer to mcg to further explain. Given non-uniqueness of the optimal solution, I believe your assumption that argmins should necessarily basically be the same is false.

As you say, the problems are underdetermined. The optimal value is therefore zero, and there are multiple optimal solutions. The three values returned by these formulations are all within reasonable numerical tolerances.

CVX is under no obligation to give you a specific solution when there are multiple solutions. The one it chooses will depend upon the specific formulation and the specific solver. If you favor one solution over another, that fact must be reflected in your model.