Actually, the only forbidden member of that list on MacOS is /
(as it’s the path separator):
$ touch "a*b"
$ touch a\"b
$ touch a\\b
$ touch "a<b"
$ touch "a>b"
$ touch "a:b"
$ touch "a|b"
$ touch "a?b"
$ touch "a/b"
touch: a/b: No such file or directory
$ ls -l
.rw-r--r-- 0 gimbo staff 31 May 22:11 a"b
.rw-r--r-- 0 gimbo staff 31 May 22:11 a*b
.rw-r--r-- 0 gimbo staff 31 May 22:12 a:b
.rw-r--r-- 0 gimbo staff 31 May 22:12 a<b
.rw-r--r-- 0 gimbo staff 31 May 22:12 a>b
.rw-r--r-- 0 gimbo staff 31 May 22:12 a?b
.rw-r--r-- 0 gimbo staff 31 May 22:12 a\b
.rw-r--r-- 0 gimbo staff 31 May 22:12 a|b
Like you, I would like to be able to use all the legal characters in filenames; I suppose the argument against is that if files are synced between systems using Dropbox, stricter restrictions might help prevent surprises.
Indeed, I suspect that’s the motivation for the exact list we see, judging by this page in the Dropbox help (see the section on " Incompatible characters with Windows").
For myself, I never use Windows, and not being able to put :
or "
in filenames is annoying. I’m a grown up and I can live with the consequences of weird cross-platform sync issues; I don’t think it should be Obsidian’s job to protect me from that.