I regularly get soda ash, just not crystals like these - but I've seen people get all types of soda ash, so it won't surprise me if it's just that. Plus you said you get no zap and it gets easily removed.
Why is the coconut milk included within the oil % though, could it be that it messes up the math for you, and what calculator did you use? Also, why did you decide to have both lime juice and coconut milk for the liquid part?
When you made the 50% lye solution with the lime juice, did you notice any sediment or undissolved stuff in it, and did you strain it when you poured it into the oils?
Sorry for all the questions, I'm just trying to figure out what's happening with the recipe, it has so much going on.
There are a least of couple of things that are usually not done with your second batch, but when you gain more experience with soap. Like mixing different alternative liquids or dissolving lye in the same amount of liquid (for example, if you don't measure correctly you can have undissolved lye in your jug. Plus when the liquid is lime juice it's not exactly all water but has citric acid as well among other things, so that changes the math - it's like NaOH doesn't have enough stuff to dissolve in initially, but at the same time, the citric acid neutralizes some of the NaOH and the reaction even gives out some additional water - see how complicated this is lol! Someone with chemical background can do the math and say if it's actually possible to properly dissolve NaOH in the same amount of lime juice, but I wouldn't risk it.
With that being said, if the soap works fine it's a win. Just make sure your next batch is not overly complicated and you pull such stunts only after you are more experienced