Preheat oven to 350°F.
Saute onions in a tablespoon of canola oil over medium heat until caramelized, about 15-20 minutes. Stir occasionally to avoid burning.
While onions are cooking, rub poblano peppers with a light layer of oil and slide under the broiler (you could also grill them). Turn the peppers until the skin is charred all over. Remove from oven and place peppers in a bowl. Cover tightly with plastic wrap and let them sit while you prepare chicken.
With a sharp knife, make a wide slit in the side of the chicken. Stuff a slice (about 1 ounce) of mozzarella inside and thread 2 skewers through the chicken to secure closed. Season liberally with salt and pepper on both sides.
Remove caramelized onions from pan and set aside. Place chicken smooth side down into pan and cook until lightly browned. Flip chicken and slide pan into oven and cook for 15 minutes.
While chicken is in the oven, remove poblano peppers from the bowl and using a paper towel, rub the charred skin off of the peppers. Remove seeds and membrane from inside the peppers, then slice into strips and combine with onions.
Top chicken with the remaining slices of mozzarella, sprinkle onions and poblanos on top and finally, sprinkle the shredded cheese over the whole thing.
Put back in the oven for 8-10 minutes, then switch on broiler to brown the cheese until it's bubbly and melted.
Remove from oven and when cool enough to handle, remove skewers before serving.