Separate the onions into rings and put in a large bowl. Toss with 1/2 cup of the flour and let stand for 5 minutes.
Put 1 1/2 inches of vegetable oil into a large, wide pot over medium-high heat. Heat the oil to 365 degrees F on a deep-fry thermometer.
In a large bowl, whisk the remaining 3 cups flour together with the cornstarch, cayenne, garlic powder, onion powder, paprika and a big pinch of kosher salt. Add the milk, seltzer and egg and whisk to combine.
Add a couple handfuls of the onion rings to the batter and immediately place in the hot oil. Fry, turning once, until crisp and golden, 2 to 3 minutes. Return the oil to 360 degrees and repeat with as many batches as necessary until all the onions are fried.
Serve with ketchup for dipping.