Preheat oven to 425 degrees F. Line a baking sheet with parchment paper.
In a large skillet over medium heat, melt 2 tablespoons butter. Add 1 cup onions, 2 cloves garlic, red bell peppers and jalapenos. Cook until vegetables are softened, about 5-8 minutes.
Stir in remaining 2 tablespoons butter to melt, then add 1 teaspoon chili powder and flour. Stir to combine completely, then stir in the milk. Increase heat to medium high, bring mixture to a simmer and cook until thickened, about 3-5 minutes. Add 2 cups shredded pepper jack cheese, 1 1/2 cups shredded cheddar cheese and stir until completely melted. Fold in macaroni and season to taste with salt and pepper; remove from heat and set aside.
To prepare poblanos, make a slice to open the pepper, then gently rinse to remove seeds. Keep the stem intact if possible. Fill the peppers with macaroni and cheese, and wrap the edges of the poblanos towards each other to meet halfway. Place on prepared baking sheet. Top with remaining 1 cup shredded pepper jack and cheddar cheeses.
Bake for 15-20 minutes until cheeses are melted and filling is warmed through.
To prepare sauce, heat 2 tablespoons olive oil in a medium saucepan over medium heat. Add 1 cup onions and 2 cloves garlic and cook until softened, about 3-5 minutes. Add crushed tomatoes and salsa and bring to a simmer. Keep warm.
To serve, ladle 1/2 cup sauce onto a plate, top with poblano and garnish with pico de gallo and chopped cilantro.