In a large bowl, combine sourdough discard, warm milk, melted butter or oil, egg, sugar or honey if using, and instant yeast.
Gradually add 2 cups of flour and salt, stirring until a soft dough forms.
Turn dough onto a floured surface and knead for 7 to 8 minutes, adding more flour if needed, until smooth and elastic.
Place dough in a greased bowl, cover, and let rise until doubled in size, about 1 to 1 1/2 hours.
Heat olive oil in a skillet over medium heat. Add chopped onion and cook until softened, about 3 to 4 minutes.
Add minced garlic and cook for 30 seconds.
Add sliced mushrooms, season with salt, pepper, and thyme or Italian seasoning, and cook until mushrooms are browned.
Stir in fresh spinach and cook until wilted, then remove from heat and let cool slightly.
Mix in shredded cheese if using.
Punch down the risen dough and roll it out into a rectangle about 12 by 8 inches.
Spread the spinach and mushroom filling evenly over the dough.
Roll the dough tightly from the long side into a log.
Slice the log into 12 equal pieces and place cut side up in a greased baking dish.
Cover and let the rolls rise for 30 to 40 minutes until puffy.
Brush the rolls with egg wash and sprinkle with sesame seeds or flaky salt if desired.
Bake in a preheated 375 °F oven for 20 to 25 minutes until golden brown.
Serve warm as a snack, brunch item, or side with soups and salads.