Combine all the marinade ingredients in a bowl and mix to combine. Add the chicken and store in the fridge for 12-24 hours (or overnight).
Remove from fridge and let the chicken come to room temperature (about 30 minutes). **Putting cold chicken in the hot oil will bring down the temperature of the oil too fast. Pat each piece dry, removing any excess marinade.
Fill a heavy cast iron dutch oven half way full with oil and heat to 350 degrees. When the chicken is added the temperature will drop - we want to keep the temperature at 300-325 degrees when frying.
Combine the cornstarch, rice flour, salt and garam masala in a bowl and mix thoroughly.
Dip each piece of chicken in the cornstarch mixture until coated and place on a wire rack until all pieces are coated. Let sit for about 10 minutes.
Place the chicken in the heated oil, being very careful not to overcrowd the pan. Cook for about 12-16 minutes, flipping every 2-3 minutes to ensure the chicken cooks evenly. The internal temperature of the chicken should be 165 degrees when done.
Remove from pan and place on a wire rack over a baking sheet. Sprinkle lightly with salt.
When the first batch is done, keep it in a 200 degree oven to keep it warm and crisp. **Serve the chicken with a drizzle of honey (optional).