Optional bake step: Preheat oven to 400°F and butter a 9×9 inch casserole dish. Bring a large pot of well-salted water to a boil for pasta. Set a colander and whisk nearby.
Season chicken: Pat breasts dry and halve horizontally. Mix salt, pepper, chipotle, and garlic powder. Coat chicken all over so spices adhere.
Sear chicken: Heat oil in a heavy skillet over medium-high. Cook chicken 8–10 minutes total, turning once, until an instant-read thermometer reads 165°F. Rest 2 minutes for juiciness.
Sauce the chicken: Chop or shred. Toss with barbecue sauce (and buffalo sauce if using). Cover to keep warm.
Cook pasta: Boil shells to true al dente, 1 minute shy of package time. Reserve 1 cup pasta water. Drain without rinsing. Return empty pot to stove.
Build roux: Melt butter over medium-low. Whisk in flour 60–90 seconds until foamy and blond to remove raw taste and prevent lumps.
Make sauce: Whisk in salt, pepper, chipotle, and garlic. Slowly stream in milk, then water or broth, whisking constantly. Bring to a gentle simmer until it coats the back of a spoon and a finger swiped through leaves a line.
Add cheese: Lower heat. Whisk in cheddar and pepper jack in small handfuls until smooth and glossy. Adjust consistency with splashes of reserved pasta water as needed. Taste and season.
Combine: Fold drained shells into sauce until coated. Add sauced chicken and any juices. Stir gently for a creamy, flowing finish.
Serve or bake: For stovetop, portion into warm bowls and finish with a light barbecue drizzle and herbs. For baked, transfer to dish, top with a little cheddar and a drizzle of barbecue sauce, and bake 12–15 minutes until bubbling and lightly bronzed. Rest 5 minutes before serving.