Answer
In a confirmed case, the dollar sign in the underlying custom field's internal name wasn't actually the problem — the real cause was a space in the column's display alias used in the lobby element (for example, an alias like 'JOB OFFICER' with a space in it). Removing the space from the alias (renaming it to something like 'JOBOFFICER') resolved the parameter-passing failure immediately. If lobby navigation parameter passing breaks specifically for a custom-field-sourced column, check the alias you've given that column in the lobby element for spaces or other non-alphanumeric characters before assuming the underlying field's own naming (like a '$' prefix) is the actual culprit.