Using a CAS like Magma, one can construct the partial sums in one line.
PS<x>:=PowerSeriesRing(Rationals());
Truncate( Exp(x^2+O(x^81)) );
Inserting this into the cited web tool results in the root graph

This is what one expects from the square root of the Szegő curve $|ze^{1-z}|=1$ inside the disk $|z|<1$, see derivation and visualization. The roots of $s_n(nz)$, where $s_n$ is the partial exponential sum, converge towards this curve, and thus the roots of the given polynomials $s_{2M}(z^2)$ towards its square root, scaled by $\sqrt{2M}$.
How did the split of the curve happen? Depending on how the web tool reads its input, there could be errors in reading integers or some other strange happening, as making the coefficients integer via
Truncate( Factorial(40)*Exp(x^2+O(x^81)) );
results in a root plot

It is unclear how $x=\pm 0.5$ could be detected as roots, as all coefficients are positive.
To get a pattern similar to the one you observed, I have to reduce the relative accuracy of the floating-point coefficients to 8 digits
PS<x>:=PowerSeriesRing(RealField(8));
Truncate( Exp(x^2+O(x^(81))) );
to get then a slightly larger split

While the root set is continuous as set under changes of the polynomial coefficients, multiple roots or patterns close to that, that is, root cluster, will change especially rapidly. While there are directions that move a cluster towards joining roots, these are sparse. Random changes in the coefficients will expand the cluster, as observed in this graph.