Preheat your oven to 350°F (175°C). Grease and flour your 9-inch round cake pans to ensure easy removal after baking.
In a large mixing bowl, cream together the softened butter and sugar until light and fluffy, about 3 to 5 minutes with an electric mixer on medium speed.
Add the cream of coconut, eggs, coconut extract, lemon extract, and lemon zest. Beat on medium speed until fully combined and smooth.
In a separate bowl, whisk together the flour, baking powder, baking soda, and salt. Gradually add this dry mixture to the wet ingredients, alternating with the whole milk. Begin and end with the dry ingredients, mixing just until combined.
Gently fold in the shredded sweetened coconut using a rubber spatula, ensuring it’s evenly distributed throughout the batter.
Divide the batter evenly between the prepared cake pans. Bake in the preheated oven for 25 to 30 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then carefully remove them from the pans and transfer to a cooling rack to cool completely.
While the cakes cool, prepare the frosting. In a mixing bowl, beat together the softened butter and powdered sugar until creamy. Add the lemon juice, lemon zest, and milk, mixing until smooth and spreadable.
Once the cakes are completely cool, place one layer on a serving plate. Spread a generous amount of frosting on top, then place the second layer on top and frost the top and sides of the cake.
To finish, sprinkle the toasted coconut flakes on top of the frosted cake for a beautiful and delicious finish.