For your four equation system you demonstrate that NSolve is successful
In[27]:= NSolve[{exp1, exp2, exp3, exp4}, {x1, y1, x2, y2}, Reals]
During evaluation of In[27]:= NSolve::ratnz: NSolve was unable to solve the system with inexact coefficients.
The answer was obtained by solving a corresponding exact system and numericizing the result. >>
Out[27]= {{x1 -> -1.08337, y1 -> 0.622023, x2 -> 1.08337, y2 -> 0.622023},
{x1 -> -0.981789, y1 -> 0.163141, x2 -> 1.06868, y2 -> 0.614297},
{x1 -> 1.06868, y1 -> 0.614297, x2 -> -0.981789, y2 -> 0.163141},
{x1 -> 1.08337, y1 -> 0.622023, x2 -> -1.08337, y2 -> 0.622023}}
But NMinimize with the default settings is not successful in finding a good zero for your system.
In[28]:= v = Total[{exp1, exp2, exp3, exp4} /. Equal[l_, r_] -> Norm[l - (r)]];
NMinimize[v, {x1, y1, x2, y2}]
Out[29]= {0.0605371, {x1 -> -0.509966, y1 -> 0.0954671, x2 -> 1.01537, y2 -> 0.573978}}
I had hoped that my simple example would show you a way to solve your problem.
By increasing the number of iterations NMinimize does find a good zero.
In[30]:= v = Total[{exp1, exp2, exp3, exp4} /. Equal[l_, r_] -> Norm[l - (r)]];
NMinimize[v, {x1, y1, x2, y2}, MaxIterations -> 10^3]
Out[31]= {6.92979*10^-15, {x1 -> -0.981789, y1 -> 0.163141, x2 -> 1.06868, y2 -> 0.614297}}
For your six equation system NMinimize with the default settings is not successful in finding a good zero for your system.
In[38]:= v = Total[{expX1, expX2, expX3, expX4, expX5, expX6} /. Equal[l_, r_] -> Norm[l - (r)]];
NMinimize[v, {x1, y1, x2, y2, x3, y3}]
Out[39]= {1.30488*10^8, {x1->3.08738, y1->4.19488, x2->20.9305, y2->22.2496, x3->12.1937, y3->13.4264}}
Even when the number of iterations is greatly increased and other options are experimented with NMinimize still returns quickly, but again is not successful in finding a good zero for your system.
In[40]:= v = Total[{expX1, expX2, expX3, expX4, expX5, expX6} /. Equal[l_, r_] -> Norm[l - (r)]];
NMinimize[v, {x1, y1, x2, y2, x3, y3}, MaxIterations -> 10^6]
Out[41]= {1.30488*10^8, {x1->3.08739, y1->4.19488, x2->20.9305, y2->22.2496, x3->12.1937, y3->13.4264}}
Based on this and other experiments which I did, but did not include in the post, I suspect that it is possible there is either no zero to the six equation system or that there are local minima which are trapping NMimize and preventing it from finding a good zero.
A number of different experiments have not been able to find anything other than that minima.
If you are aware of a good starting location for the search then this might be very helpful.
Hopefully something in this will provide you the clues that you need.