Preheat oven to 350 degrees F. Make a 9×9 inch foil sling and place in 9×9 pan so that the foil folds over the edges.
Combine butter and sugar in a stand mixer and mix with a paddle attachment on medium low. Add flour and salt, and mix until doughy and crumbly. Pour into the sling and press crumbled dough together until dough is flat and even. It also helps to use the back of a measuring cup to smooth out the shortbread crust.
Prick crust with a fork so no air pockets form while baking. Bake for 15-20 minutes, or until edges of crust are golden brown.
Remove from oven and press crust firmly down with the back of a measuring cup or spatula to compress the crust. Let crust cool for at least 15 minutes or until cool.
To Make the Caramel Center
In a medium, heavy bottomed pot, combine all filling ingredients and stir together.
Cook on medium heat and stir often until temperature is 239-242 degrees F. This will take around 20 minutes. Be sure to use a thermometer to check temperature once the color of the filling begins to darken.
Pour on top of crust and smooth as is needed so that the caramel filling is even.
Let cool for approximately 1 hour, or until completely cool to the touch.
To Finish with Chocolate
Melt chocolate in microwave in 20 second intervals. Do not allow chocolate to get super hot. Instead, when there are only a few small piece of chocolate left in the melted chocolate, stir continually until the chocolate melts.
Pour chocolate over caramel and smooth with an offset spatula. Refrigerate for 15 minutes to set chocolate and to give it a nice sheen.
Remove millionaire shortbread from pan by lifting the foil sling out of the pan. Discard foil and place shortbread on a cutting board. With a sharp serrated knife, cut the shortbread into 3 equal sections that are 3 x 9 inches each. Then cut each 3 x 9 into 3×1 inch pieces with a sharp knife.
Store in a container at room temperature for up to 1 week. Place parchment between the layers if stacking.