Preheat the oven to 350°F. Grease a 9×13-inch baking pan. Whisk together the flour, baking powder, baking soda, and salt.
Whisk the brown sugar and melted butter until smooth. Add the eggs, sour cream, milk, and vanilla. Fold in the dry ingredients just until no streaks of flour remain.
Spread the batter evenly in the pan and bake for 27 to 33 minutes, until the center springs back lightly and a toothpick comes out clean.
For the sauce, melt the butter over medium-low heat. Stir in the dark brown sugar and heavy cream. Simmer for 2 to 3 minutes, stirring constantly, then remove from heat and stir in vanilla and salt.
Cool the cake for about 10 minutes. Poke small holes across the surface and slowly spoon the warm butterscotch sauce over the cake.
Cool completely, then chill for at least 1 hour. Beat the cold heavy cream with powdered sugar and vanilla to medium peaks and spread over the chilled cake.
Sprinkle with toffee pieces just before serving and add flaky salt if desired.
Notes
Cool the cake before adding whipped cream. Add the toffee pieces shortly before serving so they stay crisp.