Preheat your oven to 375°F and position a rack in the center. While the oven heats, dice your onion into 1/4-inch pieces and cube the bread into 1-inch pieces—I like to let the bread cubes sit out for a few minutes to dry out slightly, which helps them absorb the custard better without becoming mushy. In a skillet over medium-high heat, brown the Italian sausage, breaking it into small crumbles as it cooks, about 5-7 minutes. Once cooked through, transfer to a paper towel-lined plate to drain excess fat.
Crack the room-temperature eggs into a large mixing bowl and whisk vigorously for about 1 minute until they're pale and foamy—room temperature eggs incorporate more smoothly into the milk. Pour in the whole milk and whisk to combine thoroughly. Add the salt, black pepper, cayenne pepper, and dried thyme, whisking until the seasonings are evenly distributed. The seasoning goes into the custard first so it distributes evenly throughout rather than clustering in spots.
Pour the seasoned custard mixture into a large bowl and add the bread cubes, stirring gently to coat them evenly without breaking them apart. Add the shredded Fontina cheese, grated Parmesan cheese, and the browned and drained sausage from Step 1, folding everything together until combined. Let this mixture sit for 5 minutes—this brief rest allows the bread to begin absorbing the custard, which creates a better texture in the final dish.
Butter or oil a 9x13-inch casserole dish (or similar 2-quart capacity). Pour the strata mixture into the prepared dish and spread it evenly. Bake at 375°F for 45-50 minutes until the top is light golden brown and a knife inserted in the center comes out clean—the custard should be set but still slightly creamy, not dry. I like to tent the dish loosely with foil for the first 25 minutes if the top is browning too quickly, then remove it to finish cooking with a nice golden color.