Preheat the oven to 320°F. Grease and line two 6-inch cake pans.
Sift flour, salt, baking powder, and cornstarch into a bowl. Whisk to blend.
In another bowl, cream together butter, oil, and sugar until light and fluffy.
Add eggs one at a time, beating well after each addition.
Add vanilla, coconut extract, and half of the coconut milk. Mix until combined.
Fold in half the dry ingredients until just incorporated.
Pour in the remaining coconut milk and gently add the remaining dry ingredients.
Fold in shredded coconut until evenly distributed.
Divide batter between prepared pans and bake for 35 minutes.
Allow cakes to cool in pans for 20 minutes before transferring to a wire rack to cool completely.