Preheat oven to 450°F. Melt 2 tablespoons of the butter in a small saucepan over medium. Add flour, whisking until fully incorporated, about 1 minute. Gradually drizzle in milk and cream, whisking constantly, until fully incorporated and no lumps remain. Bring to a boil over medium, whisking constantly; boil, undisturbed, for 1 minute. Reduce heat to low, and simmer, stirring occasionally, until thickened, about 20 minutes. Stir in 3/4 teaspoon of the salt and 1/4 teaspoon of the white pepper. Remove from heat.
While milk mixture simmers, melt remaining 1/4 cup butter in a large Dutch oven over medium. Stir in onion, and cook, stirring occasionally, until translucent, about 6 minutes. Add spinach, and cook, stirring often, until liquid has evaporated and pot is dry, about 4 minutes.
Pour milk mixture into spinach mixture in Dutch oven; stir to combine. Stir in Parmesan and remaining 1/2 teaspoon each salt and pepper. Remove from heat.
Cut sourdough boule crosswise into 5 (1-inch-thick) slices, cutting through bread almost completely but leaving bottom crust intact. Slice boule lengthwise down center so each slice is halved but bottom crust is intact. Place boule on a large, rimmed baking sheet lined with parchment paper or aluminum foil. Spoon spinach-Parmesan mixture evenly between bread slices, and top evenly with Calabrian chiles. Sprinkle evenly with mozzarella.
Bake in preheated oven until top is browned and center is hot and gooey, 7 to 10 minutes.