Mix the cornstarch and 1 cup of whole milk in a bowl. Stir until it is dissolved. Set aside.
Blend the coconut milk and the grated coconut until it is smooth and set aside.
In a medium pot, pour the remainder cups of milk and the cinnamon sticks over low-medium heat.
Add the coconut mixture to the milk and cinnamon once the milk is warm. Let the mixture boil after.
When the milk starts boiling, add the condensed milk, sugar, salt, and the milk and cornstarch mixture and stir with a wooden spoon.
Add the vanilla extract and reduce the heat to low.
Continue to stir until the pudding has thickened. This step should take about 10-20 minutes.
Add the butter, stir, remove the pot from the heat and remove the cinnamon stick from the pudding.
Sprinkle cinnamon powder on top and let it cool at room temperature. Refrigerate until it is ready to eat. Enjoy!