I also use the structure-Output of Stacks but I modify the input file with PGDSpider and Plink for Admixture. Using -9 or 0 for missing data never influenced my results, and I would not expect it for the Structure program. More likely, mistakes may happen when preparing the input files.
It was already mentioned above that the results may vary due to the MCMC process.
To check the results I would use e.g. 10 independent Admixture/Structure runs, which gives an idea about the variation between the runs.
Having a quick look, the results for K 3 and 4 look similar to me: in A) HEP separates from the red cluster of LEP+HEP and MCI in B).
In A) HEP then forms a separate cluster with the admixed CA+CT. From the annotations it is not clear in B) to which cluster the samples CA+CT, MAR S.S. and MG+CT are assigned.
I assume you know best how the samples relate to each other (samples from small/large scale population/subspecies/species level, expected gene flow/hybridization/introgression).
There might be a (biological) reason for the varying cluster assignments. Have you checked the amount of missing data for each individual and made sure that there is not much sampling bias?
Best wishes,