Combine 2 cups buttermilk, 1 tablespoon salt, 1 teaspoon black pepper, and 1 tablespoon hot sauce (if using) in a large bowl. Add the drumsticks, making sure they are fully submerged. Cover and refrigerate for at least 4 hours, or overnight up to 24 hours.
Whisk together the all-purpose flour, cornstarch, 2 tablespoons salt, 1 tablespoon black pepper, paprika, garlic powder, and cayenne pepper in a shallow dish.
Remove a drumstick from the buttermilk, letting excess drip off. Dredge thoroughly in the seasoned flour, shaking off excess. Dip briefly back into the buttermilk. Return to the flour for a second coating, pressing firmly to build a thick, craggy crust. Place on a wire rack. Repeat with remaining drumsticks.
Let the coated drumsticks rest on the wire rack for 15–20 minutes before frying. This allows the coating to hydrate and bond to the chicken so it does not fall off in the oil.
Set up a wire rack over a baking sheet next to the stove for draining. Have tongs and a lid nearby for safety.
Pour oil into your heavy pot or Dutch oven to at least 2 inches depth. Attach a deep-fry thermometer. Heat over medium-high until the oil reaches a steady 325–350°F.
Using tongs, gently lower 3–4 coated drumsticks into the hot oil. Do not overcrowd — frying too many pieces at once drops the oil temperature and produces soggy chicken. Fry for 6–8 minutes on the first side until deeply golden brown.
Carefully turn the drumsticks and fry another 6–10 minutes until golden brown on all sides.
Insert an instant-read thermometer into the thickest part of a drumstick without touching bone. The chicken is safely cooked when it registers 165°F.
Transfer finished drumsticks to the wire rack (not paper towels) to drain. Let rest at least 10 minutes before serving. The rack keeps air circulating underneath to maintain crust crispiness.