For the Filling:
Heat olive oil, add onions and cook until soft and translucent about 5 minutes. Add the garlic and cook until fragrant, 1 minute. Stir in the hatch green chiles, salt, cumin, oregano, paprika, pepper and cayenne (if using) and cook over medium-high heat for another 5 minutes. Add the flour and cook until toasty, about 2 minutes. Pour in the milk and cook until mixture thickens and just begins to turn golden brown, about 3 minutes. Turn off the burner and stir in the cheese until melted. Taste and adjust seasoning as needed. Transfer mixture to a bowl and allow filling to cool completely before filling dough rounds. Mixture can be stored in the fridge for 1-2 days in advance of making empanadas.
For the Dough:
In the bowl of a food processor, pulse the flour and salt until combined.
Add in the butter and pulse about 15 pulses. Add in the egg and then the milk—2 tablespoons at a time—and pulse until dough just begins to come together. Turn the dough out onto a lightly floured surface and pack it into a ball. Cut the dough in half and shape into two (6-inch) rounds. Wrap each round in plastic wrap and refrigerate for at least one hour or up to 3 days.
Preheat oven to 350 degrees. Line a large sheet tray with parchment paper.
Roll out one of the discs to ¼-inch thick. Use a cookie cutter (we used a 4 ½-inch) to cut out smaller round discs. Place empanada discs on a parchment-lined sheet tray and place in fridge while you roll out the other disc of dough.
Spoon 1 to 2 tablespoons of filling in the center of each round. Moisten the outer edge of each round with water and fold the dough in half to form a half moon. Pinch the edges together to seal and then fold the sealed edge slightly over itself. Crimp dough with a fork. Brush each empanada with egg wash (1 egg whisked with 1 tsp. water) and bake until golden, 10 to 15 minutes. Serve warm.