After more fiddling, I realized that I needed to explicitly set the path to the Godot executable in both launch.json and tasks.json. After doing this, I was able to start my game in the Godot IDE and then Attach to it in Visual Studio Code, but I am still unable to launch from VS Code.
When I try to launch from within VS Code, this is printed to the console:
> Executing task: D:\bin\Godot_v3.4-stable_mono_win64\Godot_v3.4-stable_mono_win64.exe --build-solutions --path D:\dev\starling2\game\2021\DragondownMono --no-window -q <
Godot Engine v3.4.stable.mono.official.206ba70f4 - https://godotengine.org
OpenGL ES 3.0 Renderer: AMD FirePro W2100 Graphics Adapter
OpenGL ES Batching: ON
Mono: Log file is: 'C:/Users/kitfox/AppData/Roaming/Godot/mono/mono_logs/2021-11-17_03.12.16_3940.log'
WARNING: Scan thread aborted...
at: _notification (editor/editor_file_system.cpp:1087)
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
at: cleanup (core/object.cpp:2064)
Terminal will be reused by tasks, press any key to close it.