Preheat oven to 400 F (200 C).
Line a baking sheet with parchment paper or a nonstick baking sheet. It’s very important to not grease the pan - it will cause the pastries to flatten!
In a small bowl, combine flours, cayenne, mustard powder, xanthan gum, and baking powder. Set aside.
Combine milk, butter and salt in a medium sauce pan, heat to a boil.
Once boiling, remove from heat. Add flour mixture, stirring until well incorporated.
Reduce heat to medium, return saucepan to stove top. Cook for another minute or so, until the dough comes together, leaving the sides of the pan.
Transfer dough to the bowl of your stand mixer. Using the paddle attachment, beat the dough for a minute or so to allow it to cool slightly.
Meanwhile, beat together eggs and egg whites in a small bowl.
With the mixer set to medium, add egg mixture to dough a little at a time, allowing eggs to fully incorporate into the dough before adding more.
It may look like a separating mess, but I promise it will come together!
Once all of the eggs have been added and the dough is once again smooth, add cheese and continue beating it to melt and distribute the cheese.
Once the dough is smooth and shiny, it’s ready to pipe or spoon! It’ll be soft and a bit sticky, but more or less be able to hold its shape.
Using spoons or a pastry bags, make walnut-sized mounds of batter, leaving 2" of space between each.
Use a moistened finger to pat down any peaks of dough that may form as you finish piping each.
Bake for 12 minutes, then - WITHOUT opening the oven door - turn the temperature down to 350 F (180 C) and bake for another 25 minutes.
Crack the oven door open a few inches, turn the heat off, and allow the puffs to cool in the oven for 30 minutes.
This step allows the insides to dry out, providing a stronger structure to prevent collapse.