Heat 2 cups of the milk and the sugar in a medium heavy-bottomed saucepan over medium heat until hot and steaming.
While milk heats: In a bowl, whisk together the egg yolks; set aside. In a second bowl, whisk together the cornstarch and the remaining 1/4 cup of milk to make a slurry; set aside.
Once milk is hot, very slowly stream about 1/2 cup of the milk into the egg yolks, whisking continuously. (This is called "tempering" the eggs, and will prevent them from scrambling later.) Slowly whisk the egg mixture into the rest of the milk. Add the cornstarch slurry. Continue to cook the mixture over medium heat, whisking constantly, until the mixture thickens, about 4-6 minutes.
Remove from heat and stir in the vanilla, all but 3 tablespoons of the coconut and the butter.
Assemble the tarts:
Spoon some of the filling into each of the tart shells (depending on the size of your shells, you will likely have some filling left over). Allow to cool.
Remove the coconut milk from the fridge. Spoon the hardened coconut cream into a bowl, leaving behind the coconut water (you can reserve this to use in a smoothie or in cooking later). Using an electric mixer, whip the coconut cream until thick. Add in the vanilla and 1-2 teaspoons of sugar, to taste. Whip again to incorporate.
Spoon a small amount of the coconut whipped cream onto the top of each of the shells. Sprinkle with the remaining toasted coconut. Store in the refrigerator until ready to serve.