Place the carrots in a medium saucepan and add enough water to cover by 1 inch. Bring to a boil over high heat; then reduce to a simmer and cook the carrots until tender when pierced with a fork, about 20 minutes. Drain and cool slightly. Puree the carrots in a food processor or in 2 or three batches in a blender. Add the lemon juice and process to combine, and then transfer to a small bowl. (The carrots can be made up to 2 days in advance. Cover and refrigerate; then bring to room temperature before making the pudding.)
Preheat the oven to 350 deg. Coat a 2-quart souffle dish with 1 Tbsp. of the butter. Set aside. In a medium mixing bowl, combine the remaining 4 Tbsp. of butter, sugar, flour, salt, pepper, nutmeg, and cinnamon. Beat until smooth. Add the onion and pureed carrots, and beat until well blended. Add the milk and eggs and mix until well blended. Spoon the mixture into the prepared dish.
Bake, uncovered, until the pudding is puffed and lightly browned and the center is firm to the touch, about 50 minutes to 1 hour. Serve immediately. (The pudding can be assembled several hours ahead. Cover and refrigerate; then remove from the refrigerator 1 hour before baking.)