I guess this is all due to filesystem constraints, but as I said, I think the ideal solution would be for Obsidian to escape filenames. I’m not sure how practical that is.
I guess another option would be to store the note title in the note itself (rather than the filename) but I guess that raises portability issues, and also backwards compatibility issues. The backwards compatibility issue could be addressed by making this an optional feature. Hmm. 