Beat together sugar, coconut oil, and butter in a large bowl with an electric mixer until fully combined. Add eggs, 1 at a time, beating well after each addition.
Whisk together flour, baking powder, and salt in a bowl. Working in batches, stir flour mixture into butter mixture alternately with coconut milk until just combined.
Generously coat a 6-quart oval slow cooker with cooking spray and line bottom with parchment paper. Spread batter evenly in slow cooker. Drape paper towels over top of slow cooker (to absorb any condensation during baking), then cover with lid. Cook on High until a wooden skewer inserted into center of cake comes out clean, 1 to 1 1/2 hours.
Remove lid and paper towels. Using oven mitts, remove ceramic liner from slow cooker and let cool 10 minutes. Carefully turn cake out onto a serving platter and let cool completely, about 1 hour.
For the frosting, beat together cream cheese and butter in a bowl with an electric mixer on high speed until light and fluffy, about 3 minutes. Beat in powdered sugar, a little at a time, until fully combined. Beat in salt and vanilla.
Frost top of cake and top with coconut flakes to serve.