Grease a 9x13-inch baking dish with butter. Cube your day-old bread into roughly 1-inch pieces.
In a large skillet over medium heat, cook the sausage until browned and crumbly, about 5-7 minutes. Transfer the sausage to a paper towel-lined plate, leaving about 1 tablespoon of fat in the pan.
Add the diced onion to the remaining fat in the skillet and sauté until translucent, about 3-4 minutes. Stir in the minced garlic and cook until fragrant, about 30 seconds. Add the diced apples and cook for another 3-4 minutes until they begin to slightly soften but still maintain some firmness.
In a large bowl, whisk together the eggs, milk, Dijon mustard, thyme, sage, 1 teaspoon salt, and 1/2 teaspoon black pepper until well combined.
Spread half of the bread cubes in the prepared baking dish. Layer with half of the sausage mixture, half of the apple-onion mixture, and 1 cup of shredded cheese. Repeat with the remaining bread, sausage, apple mixture, and top with the remaining cheese.
Pour the egg mixture evenly over the assembled casserole, pressing down gently to ensure all bread cubes are coated. Cover with plastic wrap and refrigerate for at least 30 minutes, though overnight is ideal.
Preheat your oven to 350°F. Remove the casserole from the refrigerator and let it stand at room temperature while the oven heats.
Bake uncovered for 45-50 minutes, or until the center is set and the top is golden brown. A temperature probe should read 160°F when inserted in the center.
Allow the casserole to rest for 10 minutes before serving.