You can combine javascript and .Net unit tests and coverage in one SonarQube project.
Coverage will be shown for both, but unit test count comes from javascript only (still don't know how to resolve it)
If you remove javascript unit test xml file line from additional SonarQube properties, you'll get unit test count for .Net without any other changes.
For .Net we use opencover to get .trx file and coverage xml:
"path/to/OpenCover.Console.exe" -register:user -target:"%MSTestExe%" -targetargs:"/resultsfile:Tests.trx /noisolation /testcontainer:%~dp0Tests\bin\%Configuration%\Tests.dll" -output:"%~dp0results.xml"
For javascript it's karma (jasmine) with karma-sonarqube-unit-reporter module to get lcov and xml files
And additional properties for SonarQube prepare analysis configuration step (integrated with MSBuild):
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)\ProjectName\results.xml
sonar.cs.vstest.reportsPaths=$(Build.SourcesDirectory)\ProjectName\Tests.trx
sonar.genericcoverage.unitTestReportPaths=$(Build.SourcesDirectory)\ProjectName\tests\reports\ut_report.xml
sonar.javascript.lcov.reportPath=$(Build.SourcesDirectory)\ProjectName\tests\reports\coverage\lcov.info