Make the filling: Melt 2 tbsp. butter in a 12” skillet over medium-high. Cook onion until golden, 6–8 minutes; transfer to a bowl. Add remaining butter and the veal; cook, stirring and breaking up meat into small pieces, until browned, 6–8 minutes, and transfer to bowl with onion. Add spinach to skillet; cook until wilted, 1–2 minutes; transfer to a colander to drain. Squeeze spinach dry, roughly chop, and add to bowl with veal; stir in nutmeg, salt, and pepper.
Make the sauce: Melt 2 tbsp. butter in a 4-qt. saucepan over medium. Cook garlic until golden, 1–2 minutes. Add tomatoes, salt, and pepper; cook until thickened, 8–10 minutes, and let cool. Purée milk and eggs in a blender until smooth. Add tomato sauce, salt, and pepper; pulse 2 to 3 times until just combined.
Cook the lasagna sheets: Bring a large pot of salted water to a boil. On a lightly floured surface and working with 1 disk of pasta dough at a time, press and stretch dough into an 8" oval; dust on both sides with flour. Using a pasta machine, pass dough through machine twice, using the widest setting. Using the next narrower setting, pass dough through machine twice more. Continue to roll dough, setting the rollers to the next narrower setting, until dough is 1⁄12" thick. Lay dough sheet on a lightly floured surface and cut into five 12” sheets. Working in two batches, cook lasagna sheets 20–30 seconds. Using a slotted spoon, transfer lasagna sheets to an ice bath.
Assemble and bake the lasagna: Heat oven to 375°. Grease a 9”x13” baking dish with butter. Lay 2 lasagna sheets in prepared dish, overlapping slightly. Sprinkle 1 cup filling over top and drizzle with 1⁄2 cup sauce; sprinkle with 1⁄4 cup parmesan, about 3 oz. mozzarella, and dot with 1 tbsp. chilled butter. Repeat layering lasagna sheets, filling, sauce, cheeses, and butter. Cover lasagna with greased parchment paper and aluminum foil; bake until filling is set, about 45 minutes. Heat oven broiler. Uncover lasagna; broil until cheese is browned, 2–3 minutes.