Make the crust: In a medium bowl, whisk together the flour, sugar, and salt. Add the cold butter and use a pastry blender or your fingers to work it into the flour mixture until it resembles coarse crumbs. Gradually add the ice-cold water, stirring with a fork until the dough comes together in a ball. Wrap the dough in plastic wrap and refrigerate for at least 30 minutes.
Roll out the crust: On a lightly floured surface, roll out the chilled dough to a thickness of about 1/8 inch. Transfer the dough to a 9-inch pie dish and trim the edges to fit.
Chill the crust: Refrigerate the crust for at least 15 minutes.
Line the crust: Line the crust with parchment paper and fill with pie weights or dried beans.
Bake the crust: Preheat the oven to 375°F (190°C). Bake the crust for 15 minutes, then remove the parchment paper and pie weights or beans. Continue baking for an additional 5-7 minutes, until the crust is lightly golden.
Make the filling: In a medium saucepan, combine the heavy cream, granulated sugar, brown sugar, and salt. Cook over medium heat, stirring constantly, until the sugar has dissolved and the mixture is hot but not boiling.
Temper the eggs: In a small bowl, whisk together the egg yolks and melted butter. Gradually add the hot cream mixture to the egg yolks, whisking constantly.
Cook the filling: Return the saucepan to medium heat and cook the filling, stirring constantly, until it thickens and coats the back of a spoon, about 5-7 minutes.
Add butterscotch extract: Stir in the butterscotch extract, if using.
Pour the filling: Pour the filling into the baked pie crust.
Chill the pie: Refrigerate the pie for at least 2 hours or overnight.
Make the butterscotch sauce: In a small saucepan, combine the heavy cream, granulated sugar, and butter. Cook over medium heat, stirring constantly, until the sugar has dissolved and the mixture is hot but not boiling. Stir in the butterscotch extract, if using.
Serve: Serve the pie chilled, topped with the butterscotch sauce.