In a medium saucepan, combine the sugar, cornstarch, and salt. Gradually stir or whisk in the milk and cream, bring to a boil, and then reduce the heat to a simmer for 1 minute. Remove the pan from the heat.
In a large bowl, beat the egg yolks until blended, about 30 seconds. Whisk about 1/2 cup of the hot milk-cream mixture into the yolks and then beat in another 1/2 cup. Slowly whisk in the remaining hot liquid and then pour the mixture back into the pan. Heat the mixture over medium to medium-high heat until it reaches 180°F and begins to thicken, stirring constantly; it will look like it’s about to boil. Remove the pan from the heat and whisk in the evaporated milk and coconut milk, whisking until the mixture begins to cool. Strain to remove any cooked pieces of egg and refrigerate until it’s colder than about 60°F, at least 2 hours or as long as 24 hours, stirring occasionally.
Add 1/4 cup of the coconut flakes, if using, and freeze the mixture in an ice-cream machine (following the maker’s instructions) until the ice cream is very thick and cold. Transfer to a resealable plastic or stainless-steel container and freeze until it’s firm enough to scoop, at least 3 hours. Serve with more toasted coconut flakes sprinkled on top, if you like.