Heat oven to 350°F (177°C). Grease and line three 8-inch cake pans with parchment. Lightly flour the sides.
Whisk flour, cornstarch, baking powder, baking soda, and salt in a bowl.
Beat butter, granulated sugar, and brown sugar on medium-high until pale and fluffy (2–3 minutes). Scrape bowl.
Add eggs one at a time, beating well after each. Mix in vanilla.
Alternate dry ingredients with buttermilk: add dry mix in 3 additions and buttermilk in 2, starting and ending with dry. Mix just until combined.
Divide batter evenly among pans. Weigh the pans if you want perfectly even layers.
Bake 22–26 minutes, until the centers spring back and a toothpick comes out with a few moist crumbs.
Cool in pans 10 minutes. Turn out onto racks, peel parchment, and cool completely.
Wrap and chill layers 30–60 minutes to make assembly easier.
Beat butter on medium-high until smooth and lightened in color (2 minutes).
Add 3 cups powdered sugar, half the caramel, vanilla, and a pinch of salt. Beat on low to combine, then high for 1 minute.
Add remaining powdered sugar and caramel to taste. Stream in cream as needed for a spreadable, fluffy texture.
Taste and adjust salt to balance sweetness. You want silky, stable frosting that holds swirls.
Level chilled cakes if needed. Place first layer on a board. Add a generous scoop of buttercream and spread to edges.
Sprinkle 1/3 of the toffee bits over the frosting. Press gently so they stick.
Repeat with the second layer. Top with the final layer.
Apply a thin crumb coat of frosting. Chill 20 minutes to set.
Frost with a final coat. Smooth sides and add swoops on top.
Drizzle caramel over the top, letting some run down the sides. Finish with remaining toffee bits around the edges.