The quotation marks are not part of the strings themselves; they’re what indicates a string literal. Once you have a [string] variable, you can do whatever you want with it, and the contents don’t matter, as far as PowerShell is concerned.
When your other product calls the PowerShell script, it needs to make sure to quote the strings properly. This is expected anytime you call any command-line utility (though the quoting / escaping rules may be different.)