Position racks in the top and bottom thirds of the oven; preheat to 350 degrees for light pans and 325 degrees for dark pans. Grease and flour three 8-inch cake pans.
In a large bowl, whisk the flour, 2 cups sugar, the baking powder, salt and baking soda. In a medium bowl, whisk the buttermilk, butter, yolks, oil and vanilla. (If you really like coconut flavor, use 1 tsp. coconut extract and 1 tsp. vanilla extract).
In a medium bowl using an electric mixer on high, beat the egg whites until very soft peaks form, about 2 minutes. Gradually beat in the remaining 1/2 cup sugar; beat until stiff, glossy peaks form.
Using an electric mixer on medium, gradually beat the buttermilk mixture into the flour mixture just to blend. Using a rubber spatula, fold half the egg-white mixture into the batter until almost blended. Fold in the remaining egg-white mixture and the sprinkles. Divide the batter among the pans.
Bake the cakes, switching the pans between the top and bottom racks halfway through, until a toothpick inserted into the centers comes out clean, about 30 minutes. Let cool in the pans on a wire rack, about 15 minutes. If needed, run a thin knife around the edges of the pans to release the cakes, then invert onto the rack and let cool completely.
For the frosting, in a large bowl using an electric mixer on medium, beat the butter until smooth. Add the sugar, 1 cup at a time, mixing to blend between additions. Beat in 1/4 cup milk and the vanilla. Increase the speed to medium-high; beat, adding milk by the tablespoon if too thick, until smooth and fluffy, about 5 minutes. Assemble and frost the cake as shown here.