I found the most reliable way to do links is to do a fully converted webbrowser style URI. In this, spaces become %20. There is no easy way to type such a link, but I found and adapted a Windows shell extension so I can send any file to the clipboard as a pastable Obsidian link.
I can post C# source code later. Could also post a binary program, but I don’t know right ways to do that.