For the dressing, combine the eggs, cornstarch, vinegar, salt, sugar, mustard, and water together in a medium saucepan. Whisk well. Bring the mixture to a boil over medium heat, whisking constantly, until it bubbles and thickens - it should be the consistency of pudding (take care not to heat too high or stop whisking or there might be small bits of cooked egg in the mixture).
Remove from heat and let cool 10 minutes. Stir in the yogurt or mayonnaise and let cool completely.
Toss all the salad ingredients together in a large bowl. Stir in the dressing and toss lightly until all the ingredients are covered with dressing.
Cover the bowl with plastic wrap and refrigerate for at least 1-2 hours before serving.