Crush 5 of the garlic cloves. Cook crushed garlic and 3 tablespoons of the butter in a large nonstick skillet over medium-high, stirring occasionally, until garlic begins to brown, about 4 minutes. Remove from heat; let stand 10 minutes. Remove garlic with a slotted spoon; discard garlic.
Heat garlic-infused butter in skillet over medium. Stir in torn bread, zest, and 2 teaspoons of the thyme. Cook, stirring often, until toasted, 2 to 3 minutes. Remove breadcrumbs from skillet; wipe skillet clean.
Whisk together flour and 1/4 cup of the milk in a small bowl until smooth. Combine flour mixture and remaining 1 1/4 cups milk in a small saucepan. Bring to a boil over medium-high; reduce heat to medium-low, and cook, whisking often, until thickened and reduced to about 1/2 cup, about 20 minutes. Remove from heat. Stir in nutmeg, 1/2 teaspoon of the salt, 1/4 teaspoon of the pepper, and remaining 2 teaspoons thyme.
Cook remaining 2 tablespoons butter in skillet over medium-high until butter sizzles, about 1 1/2 minutes. Add mushrooms; cook, stirring often, until lightly browned, 3 to 4 minutes. Thinly slice remaining 3 garlic cloves. Add asparagus and sliced garlic to mushrooms; cook, stirring often, 3 minutes. Add stock, and bring to a boil. Cook, stirring occasionally, until liquid has evaporated and asparagus is tender, about 2 minutes. Stir in remaining 3/4 teaspoon salt and 1/2 teaspoon pepper.
Preheat broiler with oven rack 6 inches from heat. Spread milk mixture in a small oval gratin dish; top with mushroom mixture. Broil until bubbly, about 2 minutes. Remove from oven, and top with breadcrumbs.