Melt the butter in a 10-inch cast iron skillet over low heat. Once melted, sprinkle the brown sugar evenly over the butter. Remove from heat.
Arrange the pineapple rings in a single layer over the brown sugar, placing a cherry in the center of each ring if using.
In a medium bowl, whisk together the flour, baking powder, and salt.
In a separate bowl, beat the granulated sugar, egg, reserved pineapple juice, milk, and vanilla until smooth.
Pour the wet ingredients into the dry and stir just until combined — do not overmix. The batter will be thick.
Spoon the batter gently over the pineapple rings, spreading it evenly to the edges. Do not stir the pineapple layer.
Cover the skillet with a tight-fitting lid or heavy-duty foil. Cook over low heat (or low coals) for 25-30 minutes, rotating the skillet 90 degrees every 5 minutes for even browning.
Check for doneness by inserting a toothpick into the center of the cake — it should come out clean. If not, cover and cook another 5 minutes.
Remove from heat and let rest for 2 minutes. Place a large plate over the skillet and carefully invert the cake onto the plate. Let the skillet sit for 30 seconds before lifting it off.
Serve warm, directly from the plate. Scrape any remaining caramel from the skillet over the top.