Place the chicken legs in a large bowl, and season with salt, crushed garlic, hot sauce, and Creole seasoning.
Pour enough of the buttermilk to cover and thoroughly coat the chicken legs. Cover the bowl with cling wrap and refrigerate for around 4 hours (or overnight).
Whisk the flour, cornstarch, baking powder, paprika, garlic powder, onion powder, herbs, cayenne pepper, white pepper, and salt in a large bowl.
Remove the marinated chicken legs from the buttermilk and let them drain. Dredge them in the breading mixture and shake off excess flour.
Dip the chicken legs in the remaining buttermilk (add fresh buttermilk as needed), and dredge them again in the flour mixture, shaking off the excess. Repeat this process if you like thicker breading.
Let the chicken legs rest for 10-15 minutes while heating the oil so the coating sticks better.
Heat oil in a deep fryer or cast-iron skillet to 375℉ (190℃). The temperature will drop once you add chicken, so you want to start higher than the recommended 325-350℉ (160-180℃).
Slowly and carefully place the chicken legs in the hot oil using tongs. Work in batches, so you avoid overcrowding the skillet.
Fry them until golden brown, turning once every 10 minutes. Chicken legs are done when no longer pink inside and the juices run clear (an instant-read thermometer will read 175℉/80℃). You may also do a test by piercing a chicken leg with a fork.
Drain the chicken legs on paper towels and then transfer them to a wire rack.
Repeat with the remaining chicken legs. Let them rest for about 10 minutes before serving.