For the cornbread: Grease an 8x8 baking dish or pan for the cornbread. Whisk milk, oil, and eggs in a medium bowl. Combine cornmeal, flour, baking powder, and salt in a large bowl. Add milk mixture, whisking until smooth. Pour batter into prepared pan and bake until golden and toothpick inserted in center comes out clean, about 30 minutes. Cool in pan on wire rack. (Cornbread can be made up to 2 days in advance.)
For the dressing/stuffing: Spread cubed cornbread and bread onto two baking sheets and bake until dry and golden, about 15 minutes.
Meanwhile, in a large skillet, cook bacon over medium heat until fat is rendered and bacon is crisp, about 5 minutes. Add onion, celery, and garlic and cook until translucent, about 4 minutes. Stir in sage and transfer mixture to a large bowl.
Add cornbread, bread, lightly beaten eggs, broth, parsley, salt, and pepper to the bowl and toss until combined. Let sit 5 minutes, then toss again.
If serving as a side dish/dressing and not stuffing the turkey, spoon mixture into a 9x13 baking dish and bake until top is toasted golden brown, about 30 minutes. Serve warm.
For stuffing: Reserve 4 1/2 cups for turkey, then spoon remaining stuffing into a 9x9 baking dish. Bake until top is golden brown, about 25-30 minutes.
Notes
The baked cornbread can be left in its pan at room temperature overnight or up to 2 days before making the stuffing, instead of oven drying (in step 3). You can skip the white bread and do all cornbread if you want, just double the cornbread recipe and bake it in a 9x13 for the same amount of time.