Preheat the oven to 350°F (177°C). Grease and flour two 8-inch round cake pans and line the bottoms with parchment paper.
Sift flour, baking powder, baking soda, and salt into a medium bowl and whisk to combine.
In a large bowl, beat softened butter, oil, sugar, vanilla, and almond extract for 2 minutes until pale and fluffy. Beat in the whole egg until well incorporated, then add egg whites and mix until smooth.
Mix in sour cream. Gradually sift in half of the dry ingredients, followed by half of the milk. Repeat with remaining flour and milk. Beat on high for 5 seconds to emulsify the batter.
Fold in rainbow sprinkles gently. Divide the batter evenly between the prepared pans and bake for 25-28 minutes, until golden and a skewer comes out clean.
Let cakes cool in the pans for 10 minutes before transferring them to a wire rack to cool completely.
For the frosting, melt chopped white chocolate and ½ cup cream in a saucepan over medium heat until simmering. Pour over the chocolate and let it stand for 2 minutes, then whisk until smooth.
Let the mixture cool for 5 minutes before adding the remaining cold cream. Refrigerate for at least 2 hours, or overnight if possible.
Once chilled, whisk in vanilla extract and beat until thick and fluffy.
For the filling, whip the heavy cream with sugar and vanilla until firm peaks form. Gently fold in some of the whipped ganache frosting.
To assemble, place one layer of cake on a plate. Pipe frosting around the edges, and spread the cream filling inside. Place the second layer on top.
Cover the cake with frosting, smoothing the sides and creating swirls on top. Decorate generously with sprinkles.