Combine sugar and egg yolks in the bowl of a stand mixer. Use the whisk attachment to combine until light and fluffy, about 5 minutes on medium high speed, while stopping the mixer every coupld of minutes to scrape the bowl.
While eggs and sugar and mixing, combine coconut milk and coconut cream in saucepan. Heat on low just until the liquid starts to scald and you see steam. Remove pan from heat.
Add flour and cornstarch to egg mixture and whisk until well combined, stopping the mixer and scraping as needed.
With the mixer running on low speed, add a small amount of the hot coconut milk to the egg mixture and combine well to temper the egg. Once it is well mixed, add a little more milk, mix, and repeat until all of the milk has been added. Transfer the entire mixture from the bowl back to the pot and heat on medium low heat, whisking frequently, until thickened, about 5-10 minutes. Stir in coconut rum.
To toast your coconut, add it to a large pan and cook over low heat, stirring frequently, until golden brown. Once the coconut starts to brown, stir more frequently to avoid burning.
Serve pudding warm or cold. You can either mix the toasted coconut in with the pudding or you can serve it on top.