For the cake batter: Preheat your oven to 350°F. Line the bottoms of two 8-inch or 9-inch round cake pans with parchment paper and lightly grease the sides.
In a medium bowl, sift together the all-purpose flour, cornstarch, baking powder, baking soda, and salt. Whisk to combine and set aside.
In a large bowl or stand mixer fitted with the paddle attachment, beat the softened butter, vegetable oil, and granulated sugar together on medium-high speed for 3–4 minutes until light and fluffy.
Add the eggs one at a time, mixing well after each addition. Mix in the vanilla bean paste and pure almond extract, scraping down the bowl as needed.
In a separate small bowl, whisk the sour cream into the buttermilk.
With the mixer on low speed, alternate adding the dry ingredients and the buttermilk mixture to the batter in 3 additions, starting and ending with the dry ingredients. Mix just until combined.
Gently fold the 1 cup of sweetened shredded coconut and ½ cup of chopped pecans into the batter until evenly distributed. Do not overmix!
Divide the batter evenly between the prepared cake pans. Bake for 30–40 minutes, or until a toothpick inserted into the center comes out clean. Let the layers cool in the pans for 10 minutes, then transfer to a wire rack to cool completely to room temperature.
For the Cream Cheese Frosting: In a stand mixer fitted with the paddle attachment, beat the softened butter and softened cream cheese together on medium speed for 3–4 minutes until smooth and completely lump-free. Reduce speed to low and slowly add the sifted powdered sugar one cup at a time. Add the 1 teaspoon vanilla extract and mix until smooth.
Assemble & Decorate: Place the first cooled cake layer on a cake plate or stand. Spread an even layer of cream cheese frosting over the top. Place the second cake layer on top and cover the top and sides of the cake with the remaining frosting.
Mix together the remaining ½ cup chopped pecans and ½ cup shredded coconut and gently press around the sides and top edge of the cake. Enjoy!