Over medium heat in a medium saucepan, combine the coconut milk, heavy cream milk, milk and rice. Stir in the sugar and salt and continue to stir until thick and creamy and rice is tender, about 25-30 minutes. (Test to see if the rice is done by biting a grain of rice to make sure it's cooked and isn't crunchy in the center. If it is, continue to cook adding a little more milk (1/4 cup at a time) if it needs more liquid. When rice is cooked, remove it from the heat. If consistency is too thick and not creamy, stir in another 1/4 cup of milk.
Stir in the rum, pineapple and coconut flakes and extract (if using).
Spoon pudding into 1/2 cup ramekins. Serve warm or chilled. If chilling, cover each ramekin with plastic wrap before refrigerating.
When ready to serve, heat oven to 325 degrees and lay remaining 1/4 cup coconut in a single layer on a baking sheet. Cook for 8-10 minutes until lightly browned.
Top puddings with additional pineapple and toasted coconut. Serve.