Preheat the oven to 350°F.
Make the topping: Set a 10-inch cast-iron skillet over medium heat and add the butter. Once melted, add the brown sugar. Stir steadily until the sugar is dissolved. Remove the skillet from the heat.
Add pineapple to the skillet: Slice all but 1 pineapple ring in half. Arrange the pineapple in the skillet on top of the butter and sugar mixture, starting with the whole ring in the center and building the half-rings around it.
Prepare the cake: Place the flour, baking powder, and salt in a large mixing bowl and whisk to combine. In a separate bowl, place the melted butter, sugar, eggs, vanilla, and sour cream. Whisk until smooth and combined. Create a well in the center of the flour mixture. Pour in the wet mixture. Mix the dry and wet ingredients together with a rubber spatula or wooden spoon. When the batter starts to come together, pour in the milk. Continue mixing until the batter is smooth. Pour the batter into the skillet over the pineapple rings. Gently smooth the top with a rubber spatula so it’s even. Transfer the skillet to the middle rack of the oven.
Bake the cake: Bake for 35 to 40 minutes, or until a toothpick inserted in the center of the cake comes out clean. Remove the skillet from the oven. Allow the cake to rest for 15 minutes—no more, no less, or the topping will stick!
To serve: Hold a serving plate facedown over the skillet, then swiftly flip the skillet to invert the cake on the plate. Allow the cake to cool completely before serving.