I figured it out. I wasn't specific enough before, the msbuild statement that it failed on was building ledger.vcxproj. The mpir\msvc\vs19\msbuild.bat couldn't find MSBuild.exe. For anyone wanting to do this on Windows 10 with VisualStudio 2019 or 2017 change lines 15-19 in msbuild.bat to:
set vsw_exe="%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe"
for /f "usebackq tokens=1* delims=: " %%i in (`%vsw_exe% -latest -requires Microsoft.Component.MSBuild`) do (
if /i "%%i"=="installationPath" set InstallDir=%%j)
This works on these versions of VS. Anything before that will require something different to locate msbuild as vswhere, according to microsoft, didn't exisit before then.
With these changes this should be hands down the easiest Ledger build on Windows. I didn't try Chocolatey but I'm not sure how that could make this easier.