In the bowl of a stand mixer, beat sugar, coconut oil, and butter until fully combined.
Mix in eggs, one at a time.
In a small bowl, whisk together flour and baking powder.
Alternately add flour mixture and coconut milk into the butter/sugar mixture until just combined.
Spread batter evenly in a greased 6 quart slow cooker. Place paper towels over the top of the slow cooker bowl to absorb the condensation that occurs during baking. Then, close the lid over the towels.
Cook on high for about 90 minutes or until a toothpick comes out clean. Cooking time may vary by slow cooker model.
Cool for 15 minutes in the slow cooker. Then, carefully invert onto a serving plate.
Beat cream cheese and butter in a stand mixer on high speed for about 3 minutes or until light and fluffy.
Beat in powdered sugar a little at a time until fully combined.
Beat in salt and vanilla extract.
Spread on cooled cake.
Top with coconut flakes.
To toast coconut flakes, put them on a baking sheet in a single layer at 350 F for five minutes.