Cut the chicken into strips and add to a medium saucepan. Add just enough water to cover the chicken and bring to a simmer over medium-low heat. Poach until just cooked through, about 10 to 12 minutes. Remove from the pot and set aside to cool. Once completely cooled, shred the chicken.
Heat a large dry cast iron skillet over medium heat, add the corn and cook untouched, until just charred in spots, about 10 minutes (about 6 minutes for frozen corn).
Add the olive oil and heat through. Add the mushrooms and stir to coat in the oil. Cook until reduced in size and browned, about 4 minutes. Stir in the garlic and season with salt.
Remove the mushroom and corn mixture to a medium mixing bowl. Combine with the shredded chicken, queso fresco, sour cream, serrano and chili powder. Season to taste with salt.
Fill a heavy bottomed pot with enough oil to reach 2" (5cm) up the side of the pot. Heat the oil to 350ºF (180ºC).
Spread two tablespoons of the chicken mixture down the middle of one of the tortillas. Roll the tortilla up and secure with two toothpicks to seal the flauta. Set aside and repeat with the remaining tortillas and mixture.
Working in batches, add the flautas to the oil a few at a time and fry until golden brown all over, turning once, about 5 minutes total.
Remove from the oil and drain on a paper towel-lined plate.
For the chipotle crema:
In a small bowl whisk together the sour cream, lime juice, chili powder, paprika and cayenne. If needed, thin the sauce with a teaspoon of water. Set aside.
For serving:
Arrange the flautas on a platter and top with a scoop of guacamole, tomato, a drizzle of the chipotle crema and cilantro. Serve immediately.
Notes
Warm the tortillas briefly before rolling (in a microwave or dry pan). This makes them more pliable and prevents cracking when rolling tightly around the filling.