Whisk the hoisin sauce, vinegar, soy sauce, sugar, cornstarch, and water in a bowl. Place chicken into ziptop bag and pour 6 tablespoon of the marinade mixture over the chicken and seal. Toss chicken in marinade and refrigerate for at least 30 minutes. Set aside 2 tablespoon of the marinade for later.
To make the sauce, heat the tablespoon of canola oil in a large skillet over medium heat. Add the garlic, ginger, and red pepper flakes and saute just until fragrant. Add the rest of the marinade and simmer, stirring occasionally, until the mixture thickens. Cover the sauce and remove from the heat. Keep warm until ready.
Begin heating the oil in a Dutch oven to 350° F.
Whisk the egg whites in a shallow bowl until foamy; set aside. Whisk together the cornstarch, flour, and baking soda in another shallow bowl. Add the reserved marinade and stir with a fork until it resembles small craggy bits.
Remove the chicken from the marinade and pat dry with paper towels. Dip half the chicken into the egg whites and then into the cornstarch mixture. Make sure to press into the chicken to adhere the little craggy bits. Transfer chicken to a plate and finish dipping and dredging all of it.
Fry the chicken, half at a time, in 350° F oil for 2-3 minutes, or until golden brown and crispy. Transfer the cooked chicken on paper towels to drain.
Heat the sauce until gently simmering. Turn off the heat and add the fried chicken pieces. Toss to coat and serve over steamed white or brown rice, sprinkling with chopped green onions for garnish, if desired.