Lightly grease a 9-by-13-inch baking dish. Line a baking sheet with foil.
Cook the spaghetti according to the package instructions in a large pot of boiling salted water. Drain, rinse, and transfer the spaghetti to the baking dish.
Meanwhile, turn on the broiler and place a rack 6 inches away from the heating element. Place the grape tomatoes and jalapenos on the prepared baking sheet, skin side up, along with the whole garlic cloves and onion. Broil, for 5 to 7 minutes, until the tomatoes, jalapenos, garlic, and onion are softened and have begun to blacken. Remove from the oven, and when cool enough to handle, dice the tomatoes, jalapenos, garlic, and onion.
Turn the oven temperature down to 350 degrees F.
To make the sauce for the spaghetti, in a saucepan, melt the butter over medium-low heat. Whisk in the flour until well combined and slightly browned, about 30 seconds. Slowly pour in the milk and cook, stirring, until the sauce thickens just a bit, 3 to 5 minutes. (You want it to coat the back of your spoon, but not be too thick, like custard. If it gets too thick, you can slowly add more milk, about a teaspoon at a time.)
Once the sauce thickens, immediately turn off the heat and slowly stir in half of the cheeses, about 1/4 cup at a time, until melted and incorporated into the sauce. Stir in the diced vegetables, along with the cumin, cayenne, cilantro, and lime juice. Taste and adjust the seasonings, adding salt and black pepper to taste. Pour the sauce into the cooked spaghetti and then stir in the shredded cooked chicken. Cover the spaghetti with the remaining cheeses.
Bake, uncovered, for 20 minutes, or until brown and bubbling. Garnish with cilantro before serving.