In a large saucepan over MEDIUM heat, add butter, onion and garlic. Cook until tender- about 4 minutes. Add flour and cook for 1-2 more minutes.
In a separate saucepan over HIGH heat, combine beef broth, bourbon and brown sugar. Mix 1 cup of this mixture with 2 cups of milk. Continue reducing the remaining beef-bourbon sauce until reduced by half. Once reduced, remove from heat and set aside until ready to use.
Next, add the milk-beef broth mixture slowly to the onion-flour mix, whisking until thickened and smooth. Once all of the milk mixture has been added, stir in the black pepper.
Preheat oven to 350°F and oil a 9” x 13” hotel pan.
Layer ⅓ of the potatoes on the bottom, top with 1/3 of the cream sauce, sliced ham and 1 cup of mozzarella. Continue layering, ending with cream sauce, mozzarella and the Parmesan drizzled with the remaining bourbon glaze.
Cover and bake for 45 minutes.
Uncover and cook for 35-45 more minutes or until golden brown and bubbly.
Let rest for 20 minutes before slicing. You can also pre-portion and store under refrigeration for service later.
If cold, reheat in oven or low-temperature broiler and top with sliced scallions.
For an off-premise option, this can be pre-portioned in disposable ramekins for individual portions, or in larger aluminum containers for a family-style re-heat and eat option.