Preheat oven to 350°F (175°C). Grease three 9-inch round cake pans, line bottoms with parchment paper, and dust lightly with flour.
In a medium bowl, whisk together flour, baking soda, and salt. Set aside.
Separate 5 eggs, placing yolks in one bowl and whites in a clean, grease-free bowl. Let stand at room temperature.
In a stand mixer fitted with paddle attachment, cream butter, oil, and sugar on medium-high speed for 4-5 minutes until light and fluffy.
Add egg yolks one at a time, mixing 30 seconds after each addition. Add vanilla extract and mix until combined.
Alternate adding dry ingredients and buttermilk, mixing just until combined. Fold in coconut and chopped pecans.
Whip egg whites to stiff peaks. Fold one-third into batter to lighten, then gently fold in remaining whites until no streaks remain.
Divide batter evenly among prepared pans. Bake for 22-27 minutes until toothpick comes out clean. Cool in pans 15 minutes then transfer to racks to cool completely.
Toast coconut and pecan halves on a baking sheet at 350°F for 5-8 minutes until golden and fragrant. Cool completely.
Beat cream cheese and butter until smooth. Add salt and vanilla. Gradually add sifted powdered sugar, beating until light and fluffy.
Place first cake layer on a plate or turntable. Spread frosting on top. Repeat with remaining layers. Apply a thin crumb coat and refrigerate 20-30 minutes.
Apply final layer of frosting, smoothing top and sides. Press toasted pecans and coconut onto sides and top. Refrigerate at least 30 minutes before slicing.