In a large bowl, whisk together the flour and salt.
Cut in the cold butter using a pastry blender or your fingertips until the mixture resembles coarse crumbs with some pea-sized pieces of butter remaining.
Gradually add the ice water, one tablespoon at a time, mixing until the dough just comes together. Be careful not to overmix.
Divide the dough in half, flatten each half into a disc, wrap in plastic wrap, and refrigerate for at least 30 minutes.
Filling Preparation
In a large bowl, gently combine the blueberries, granulated sugar, cornstarch, lemon juice, and cinnamon (if using).
Assembling and Baking
Preheat your oven to 400°F (200°C).
On a lightly floured surface, roll out one disc of dough into a 12-inch circle. Carefully transfer it to a 9-inch pie plate. Trim and crimp the edges as desired.
Pour the blueberry filling into the pie crust. Dot the top of the filling with the small pieces of butter.
Roll out the second disc of dough. You can either place it over the filling as a top crust (cutting vents) or cut it into strips for a lattice top.
If using an egg wash, brush the top crust with the beaten egg and milk mixture.
Place the pie on a baking sheet (to catch any drips). Bake for 20 minutes at 400°F (200°C).
Reduce the oven temperature to 375°F (190°C) and continue baking for another 25-30 minutes, or until the crust is golden brown and the filling is bubbly.
Let the pie cool completely on a wire rack for at least 2-3 hours before slicing and serving.
Notes
For a perfectly set filling, make sure the cornstarch is evenly distributed. If the crust starts to brown too quickly, you can loosely tent it with aluminum foil.