Place the sliced onion rings in a large bowl and pour the buttermilk over them, ensuring they are all coated. Cover and refrigerate for at least 1 hour or up to 24 hours.
In another large bowl, whisk together the flour, kosher salt, smoked paprika, garlic powder, and cayenne pepper until evenly combined.
Drain the onions from the buttermilk, letting excess drip off.
Add the drained onion rings to the seasoned flour and toss to coat evenly. For extra-crispy rings, dip the coated rings back into buttermilk and dredge again in the flour mixture.
Heat vegetable oil in a large heavy saucepan to a depth of about 3 inches, or preheat a deep fryer, to 365°F (185°C).
Working in small batches, shake off excess flour from the rings and carefully lower them into the hot oil. Fry until golden brown and crispy, about 2 minutes per batch.
Use tongs or a slotted spoon to transfer the fried onion rings to paper towels or a wire rack to drain. Season with a little extra salt if desired and serve immediately.