A dense sourdough is almost never a starter problem. It is a fermentation-timing problem. Here is how to diagnose which one it is from the crumb alone.
What makes bread rise
Yeast produces CO2 as it eats sugar in the flour. Gluten (the protein network in the dough) traps that CO2 in bubbles. When the bread bakes, the CO2 expands and the crumb sets. That is oven spring.
Density can happen because: not enough CO2 was produced (under-fermented), the gluten couldn't hold what was produced (weak dough), or too much was produced and the gluten broke down before baking (over-fermented).
Reading the crumb
Wide open holes near the top and a dense band at the bottom = under-proofed. Uniformly tight crumb throughout = under-fermented. Shiny, gummy, dense crumb = over-fermented.
The poke test
Poke a floured finger into the dough half an inch. If it springs back immediately, keep proofing. If it stays indented and slowly rises back, bake now. If it collapses and does not rise back, you have over-proofed — reshape and try again.
Temperature matters
Fermentation roughly doubles in speed every 15°F. A 4-hour bulk at 78°F is an 8-hour bulk at 65°F. If your kitchen is cold in winter, use a proofing box or the oven with the light on.