Pre-heat the grill to 325 to 350 degrees.
Cut the coconuts in half. I used a hacksaw to get through the husk, then a sharp pairing knife to cut through the meat. It is best to draw a line all the way around before beginning sawing and cutting. Cut it such that there are two even halves. Drain and discard the coconut water. Alternatively you can use the hammer method and whack it in the mid point, turn, whack again and repeat until it cracks open. If you start with lighter whacks, you might get a cleaner break.
Shave off a bit of coconut from each half and set aside for making toasted coconut topping. You should have enough to create about 1 tablespoon of toasted coconut.
Wisk the eggs, sugar and salt until mixed.
Heat the milk in a sauce pan until it is steaming.
Slowly and carefully add the milk to the egg mixture. Go slow so not to curdle the eggs. Stir until the sugar is dissolved.
(Optional) Strain through a fine mesh strainer. This removes some of the tougher parts of the egg yoke, but they are only small bits that won't matter much if you don't have a fine mesh strainer.
Wrap the husks of the coconuts halves in aluminum foil to protect them from the open flame.
With another piece of aluminum foil, crumple it to make a ring for each coconut to hold them upright.
Fill each coconut 3/4 full.
Add the coconuts to the grill such that they are cooking indirect, i.e. not directly over the open flame.
Close the lid and grill for about 50 to 60 minutes until the center has congealed and you can insert a knife and pull it out clean. As always, it may take longer or shorter, depending on your grill. Remove from grill and let rest. The residual heat will cook the custard the rest of the way.