Hi @bweller, welcome to the SonarSource Community!
You never mentioned if you’re actually passing a coverage report of some kind to SonarQube during the analysis. As you can see in our Test Coverage & Execution docs, each language has one or more supported formats for capturing the coverage data. For Javascript, it’s LCOV. Without a report supplied to the scanner, we don’t do anything to automagically pick up coverage data.
We also have a generic coverage format if you have something other than LCOV and are able to translate it.
In one of our guides there’s mention of a converter to take Jest reports and convert them to our generic format; this may suit your needs.