Preheat oven to 350 degrees.
Melt one stick of butter and let it cool while you prepare the other ingredients.
Spray every inch of your bundt pan with non-stick spray.
Measure out one cup of white chocolate chips and finely chop. You can also use a food processor to speed up the process. Process until they are tiny crumbles.
To a bowl or stand mixer with the whisk attachment add the box cake mix and the box pudding mix. Whisk until combined.
To another bowl add buttermilk, canned coconut milk, four eggs, coconut flavor, vanilla, and your cooled melted butter. Whisk.
With the mixer on low add the wet ingredients into the dry. Slowly increase speed until you're on high. Allow the batter to get beaten on high for 1 full minute. Scrape the bowl down and beat until everything is incorporated.
Fold in the shredded coconut and white chocolate.
Pour into your prepared bundt pan and evenly spread out.
Bake for 40-43 minutes. If your oven cooks faster or is small (double oven) check with a toothpick at 35 minutes. If it comes out without batter on it, it's done.
While the cake bakes toast 1 cup of the shredded coconut over medium heat. Stirring almost constantly once it starts to get color. Remove once about half the coconut is a light golden brown. Remove any shreds that get fully brown.
Remove the cake from the oven and let it cool completely in the bundt pan to room temperature. This should take hours.
While the cake cools make the icing. In a bowl or stand mixer fitted with a whisk attachment cream together your butter and cream cheese.
Add powdered sugar one cup at a time and the salt. Once incorporated add the vanilla and coconut flavor along with the half & half. Beat on high until fully mixed.
Ice the cake and top with the toasted coconut. Store in an airtight container.