I'm not sure I understand what you're trying to do and I hope this doesn't miss your point or sound condescending.
All tags on a page (including snippet tags) will be parsed and any snippets will execute before the page is sent to the user's browser, where the JS will be interpreted and executed for the first time. MODX pays no attention to the JavaScript on a page, and the JS engine in the browser pays no attention to PHP or MODX tags -- it can't because a) those can only be handled by the server and all JavaScript is handled in the client browser, and b) they're all gone by the time the page reaches the browser.
JS can be used to set form fields that will show up as $_REQUEST variables (that a snippet could get access to) when the page is reloaded, but usually the point of using JavaScript is to *avoid* reloading the whole page.
The usual method for the JS on a page to communicate with MODX and PHP on the server without reloading the page is to have some action that JS is aware of (like clicking on a button) result in sending an Ajax request, which is a request for another page on the site that contains some PHP code. Messages back and forth between the two during the Ajax process are usually in JSON format, though they don't have to be.
You can send variables from MODX/PHP to the Javascript in various ways as long as the code that sets them up executes before the page is sent to the browser. The easiest method is to have a snippet that sets placeholders, which replace tags in the JS code on the page.
For going the other way, though, Ajax is really the only practical method. Trying to use JS to alter the code of a MODX tag won't ever work because the JS engine will never see a MODX tag.
I apologize if you knew all that already.