Preheat oven to 350 degrees. Line cupcake pans with 16 paper liners, spray tops of pans lightly with non-stick cooking spray and set aside.
Place butter and chocolate chips in a small bowl. Microwave until butter has melted. Stir mixture until residual heat from the butter has melted chocolate chips completely. Stir in coconut butter to melt. Pour melted mixture into a larger bowl and whip with granulated sugar. Stir in eggs and vanilla. Sift cocoa, salt, baking soda and flour. Slowly stir dry ingredients to wet ingredients until barely incorporated. Carefully fold in sour cream and milk. Batter will be thick. Drop by the tablespoon into prepared pans to be 3/4 full. Bake 25-30 minutes or until toothpick comes out clean. Remove from oven and set aside to cool.
To make the filling, melt white chocolate chips in a small bowl. Once chocolate is melted thoroughly, whip with cream cheese and then stir in coconut.
Once cupcakes are cooled completely, scoop small hole into top of cake {about 3/4 inch in diameter and 1/2 inch deep}. Spoon coconut filling evenly into the small holes. Set aside.
For the frosting, whip butter, cocoa, vanilla and powdered sugar together. While mixer is on low speed, stream in milk. Scrape sides and bottom of bowl and whip on high speed for 2 minutes. Carefully fold in whipped cream. Frost cupcakes with about 1 heaping tablespoon of frosting. Once all cupcakes are frosted, top with toasted coconut.