Why did my sweet potato hash turn soggy when frying in a non-stick pan, and crispy in a cast iron?
The theories that have come out in comments are most likely right on. Cast iron is special in how well it retains heat. Give cast iron ample preheating time, and you can drop in cold food without a significant drop in the temperature of the pan. That equals crispy. Even a pretty good and heavy non-stick pan is not going to give sweet potatoes the kind of crisp you can achieve with cast iron.

You mention higher sides in the non-stick pan. That alone probably wouldn't make much of a difference, but considering that you're already seeing a greater drop in temperature as you put in the potatoes, the higher sides would hold in more moisture in the cooler pan. That is not a friend of crispiness.

You say that you preheated both pans to about the same temperature. I actually hope your memory is a little off on that :) One of the great joys of cooking with cast iron is that you can and usually should pre-heat it to a quite high temperature without damaging the pan. Teflon, on the other hand, should never be preheated beyond a very moderate temperature for a very short time. Some people go so far as to say that you shouldn't preheat it all. So if your beginning temperatures were about the same in the pans, they shouldn't have been. After you put in the potatoes, forget about it. You'll never get the same kind of crispy sear with a teflon pan as you will with cast iron, even if you don't know how to best exploit the advantages of cast iron.