Preheat oven to 350 degrees F. Liberally grease a 9x13" rectangular baking pan with cooking spray; set aside.
In a large bowl, combine the cake mix, eggs, oil, coconut milk/water, coconut extract and dry pudding mix with an electric mixer, beating until well mixed, about 2 minutes. Pour the batter evenly into the prepared pan and bake for approx. 20-25 minutes or until a toothpick inserted near the center comes out clean. Cool for about 20 minutes.
Using a skewer or a wooden spoon handle, poke holes all over the surface of the cake. Meanwhile, in a medium bowl, whisk together the condensed milk and cream of coconut until blended. Pour the mixture over the top of the cake, allowing it to seep into the holes. Refrigerate for at least an hour.
Just before serving, beat the heavy whipping cream, powdered sugar, and coconut extract together with an electric mixer until stiff peaks form, about 5-7 minutes. Spread the whipped cream over the cake in an even layer and top with the toasted coconut. Store covered in the fridge, up to 3 days.