If I dissolve 0.999 mol NaCl and 0.001 mol citric acid in water and then evaporate the water, will the citric acid be uniformly distributed in the resulting crystals?
No. First, sodium chloride crystals will form while the citric acid stays in solution (in the example, there is much more sodium chloride, and citric acid has a high solubility in water).
Once citric acid reaches its solubility and sufficient supersaturation to form citric acid nuclei, the citric acid will also form crystals, separately from the sodium chloride crystals.
I found this post which suggest that it will result in a solid two-phase mixture but I am not 100% sure how this translates to my problem since citric acid is quite different from KCl.
The post gives multiple answers; in combination they describe that while there might be some defects in the NaCl crystals showing an occasional potassium ion, there will be two distinct types of crystals.
However, if you have a mixture of very similar particles (such as different isotopes of a simple ion), you will get a single type of crystal with the two similar particles randomly distributed. There are also mixed or double salts where there is an ordered, stoichiometric mixture of cations or anions in a single crystal.