In a large bowl, combine garlic, fish sauce, ½ cup water, lemon or calamansi juice, salt, and pepper.
Soak the chicken pieces in the brine, fully submerged if possible. Marinate in the fridge for at least 4 hours, or overnight for best results. Turn the chicken occasionally, if necessary, to make sure they marinate evenly.
In a bowl, mix flour, potato starch, salt, garlic powder, onion powder, paprika, and white pepper.
Take each piece of chicken from the brine and coat it in the dry mixture. It's okay if the chicken is a bit wet; the moisture helps the coating stick and creates a craggy texture for extra crunch.
Fill a Dutch oven or saucepan with about an inch of oil, a bit more for larger pieces. Heat the oil over medium-high heat to about 350° F (175° C). Without a thermometer, test it by dropping a pinch of flour into the oil. If it sizzles and browns, the oil is ready.
Shake off excess coating and carefully drop them into the hot oil. After adding the chicken, slightly lower the heat to prevent them from browning too quickly, but not too low or they'll become greasy and soggy instead of crisping up.
Fry the chicken in batches to avoid overcrowding the pot, turning them occasionally for 15-20 minutes, or until golden brown. For larger pieces, fry a bit longer until cooked through. If using a thermometer, insert it into the thickest part of the chicken; it should read 165°F (75°C) when done.
Once cooked, transfer the chicken to a wire rack to drain off excess oil over a baking sheet. Let it rest for a few minutes before serving.