Preheat your oven to 350 degrees. Grease two 9 inch cake pans with cooking spray.
In a large bowl, mix the the granulated sugar, flour, cocoa powder, baking powder, baking soda, and salt.
Add in the eggs, coconut milk, vegetable oil, vanilla, and water. Stir until the batter is fully combined.
Evenly distribute the batter between the two cake pans.
Bake for 30 minutes or until a toothpick stuck in the center comes out clean. Remove the cakes from the oven. Allow to cool for about 10 minutes in the pan before removing them to cool completely on a cooling rack.
While the cakes are cooling, beat the butter until creamy. Then add the caramel sauce, and gradually add in the powdered sugar until smooth. Finally, add the milk to smooth out the frosting. The frosting will be very thick and sticky.
Trim the dome off your cakes because you are a better baker than I am.
Cover the first layer of cake with caramel frosting. Add the second layer of cake. Cover with more frosting by adding scoops to the top and smoothing out over the sides. You may have frosting left over. Sprinkle with the toasted coconut, pressing it in the sides.
Notes
Pour the coconut milk into a large bowl and whisk it to fully combine it before adding it to the recipe. If necessary, put it in the microwave for 30 seconds to make the mixing easier.