Okay, I got it working.
Disclaimer: I am a PHP developer of the JETBD variety (Just Enough To Be Dangerous), so the following "solution" may be insecure/incompatible/stupid/redundant or any number of other things. If somebody with greater development chops would like to comment, I’d be most grateful.
My solution was to create a snippet and call it as a postHook on Register. Here is the snippet I created, which I called ’postRegister’:
$c = array(
'login_context' => 'web',
'username' => $_POST['email'],
'password' => $_POST['password']
);
$response = $modx->runProcessor('security/login',$c);
And the call:
[[!Register?
&submitVar=`registerbtn`
&activation=`0`
&usernameField=`email`
&validate=`
nospam:blank,
password:required:minLength=^6^,
password_confirm:password_confirm=^password^,
email:required:email`
&placeholderPrefix=`reg.`
&usergroups=`1`
&postHooks=`postRegister`
&submittedResourceId=`10`
&persistParams=`1`
]]
Without &persistParams, the contents of my Visioncart shopping cart got discarded.
Once again, experienced MODxers please feel free to issue baloney alerts if appropriate.