Preheat the oven to 350 degrees F (175 degrees C). Grease and lightly flour 4 (9-inch) cake pans.
Whisk flour, salt, baking powder, and baking soda together in a medium bowl and set aside.
Beat butter in a stand mixer fitted with the paddle attachment until creamy, about 1 minute. Beat in sugar on high speed, scraping the bowl with a spatula as needed, until fully incorporated, about 5 minutes. Reduce speed to medium-high; beat in eggs one at a time, mixing well after each addition. Mix in vanilla.
Mix flour mixture into creamed mixture in 3 additions, alternating with buttermilk, until batter is smooth and slightly thick.
Divide batter evenly among 4 bowls. Tint each portion of batter with green, blue, purple, or pink food coloring; stir until smooth. Pour batter into the prepared cake pans.
Bake in the preheated oven until a toothpick inserted into the center of cakes comes out clean, about 25 minutes. Place the pans onto wire racks to cool completely, about 25 minutes.
Make frosting: Beat butter and cream cheese in a stand mixer fitted with a clean paddle attachment until creamy, about 2 minutes. Add confectioners' sugar, heavy cream, and vanilla; beat on low speed for 30 to 60 seconds. Increase speed to high and beat frosting until fluffy, about 3 minutes. Scrape down the sides of the bowl as needed. Mix in salt.
Cut a 4-inch circle out of the center of 2 cake layers using a round cookie cutter.
Place one of the intact cake layers on a cake stand or serving plate. Use an offset spatula or butter knife to spread frosting over cake layer. Position one of the cake rings on top. Spread frosting over the top and inside the circle. Repeat with second cake ring. Fill the hole with candies and sprinkles. Place remaining intact cake layer on top. Frost the top and sides of entire cake.
Tint any remaining frosting with pink food coloring and pipe decoratively over cake.
Cut cake into slices; spoon any candies that spill out over the slices.