Heat oven to 350°. Butter an 8" × 8" baking dish with 1 tsp. of the butter; set aside. Put 2 cups of the milk and 2 cups hot water into a medium pot and bring just to a boil. Slowly pour in cornmeal while whisking constantly. Reduce heat to medium and cook, whisking constantly, until very thick, 12-14 minutes. Remove from heat and whisk in remaining butter. Set cornmeal mixture aside.
Whisk together molasses, flour, cinnamon, ginger, salt, and egg in a large bowl. Pour molasses mixture into cornmeal mixture while whisking constantly; transfer to prepared baking dish. Pour remaining milk evenly over batter and bake, rotating once, until pudding is set but still soft and a skin has formed over the top, about 1 hour. (If pudding gets too dark while baking, tent with foil.) Set pudding aside to let cool to room temperature. Spoon pudding into bowls and top with scoops of vanilla ice cream.