Whisk together 2 cups buttermilk with 2 tablespoon salt until the salt dissolves. Pour the marinade over the chicken and marinate overnight, turning the chicken once halfway through.
Preheat oven to 425 degrees F.
Remove the chicken from the marinade, scraping off the excess buttermilk. Combine 1 teaspoon fresh chopped thyme with 1 teaspoon fresh chopped rosemary, 1 teaspoon minced garlic, and 2 tablespoon softened butter. Loosen the chicken skin and spread the butter under the skin directly on the meat.
Place the onions on the bottom of a roasting rack and pour 1 ½ cups water into the pan. Place the rack on top and the chicken on the rack. Roast the chicken for 25 minutes.
Meanwhile, prepare the poblano gravy. Place the pepper directly on the stove so that it is cooking on the flames over medium heat. Char the pepper, rotating it as it blackens. Remove the pepper and place it in a bowl. Cover with plastic wrap and let it steam for 10 minutes. Remove the charred skin and discard the seeds and stem. Roughly chop the pepper and set it aside.
Reduce the oven to 375 degrees, add another 1 ½ cups to the roasting pan and continue to bake the chicken for 45 minutes - 1 hour or until the internal temperature is 160 degrees – 165 degrees.
Remove the chicken from the oven and let rest for 10 minutes.
Tilt the chicken to drain the cavity juices. Pour the cooking juices along with the cooked onion into a blender with the roasted poblano pepper. Blend the mixture until smooth.
Heat 1 tablespoon butter in a medium saucepot over medium heat. Add ½ tablespoon flour and whisk to combine. Add 1 cup chicken stock and the poblano puree. Bring to a boil, reduce heat to low, and simmer for 5 minutes. Season the gravy with salt and pepper.
Carve the chicken and serve with the poblano gravy.