Preheat the oven to 450 degrees F. Place parchment paper onto 2 baking sheets and set aside.
In a large Ziploc bag, add the onions and 2 cups of the buttermilk. Refrigerate for at least 30 minutes, but an hour is ideal. Flip bag occasionally.
In a small bowl, combine the flour, paprika, cayenne, and 2 teaspoons salt. In another bowl or shallow dish, whisk together the remaining 2 cups of buttermilk and eggs. Add half of the flour mixture to the buttermilk and beat until smooth and thickened.
In a separate bowl, combine the panko, Parmesan, olive oil and remaining 2 teaspoons salt.
Lightly dredge the onion rings in the flour mixture and then drop into the buttermilk. Drain the excess batter and then lightly dredge in the panko mixture. Too much of the panko on the onions may result in your rings being too hard, so don't force more than will cling to the batter.
Arrange on the prepared baking sheets in a single layer. You can place smaller rings inside bigger rings if necessary, just make sure there is space between them. Then place in the oven. Cook until golden brown, 14 to 20 minutes. Halfway through the cooking time, flip over each onion ring to ensure even crisping and browning.