That seems like the right track to me, though honestly the change that I proposed first would be what I would do. It fixes a shortcoming in the parser code. FYI – I did test just replacing the routine in an extension, and it worked fine.
… and I guess your new approach shows the answer to your question about how to use ParseToken() without processing connectives – you don’t!
I do agree the change you proposed first looks like the best solution. How about submitting it as a fix to David Griffith / inform6lib · GitLab for the next release?