How can I open a separate browser session using a separate user data directory from the command line?

glad it work
now for the --user-data first the brave core is chrome based so the core does not change unless chrome change it

to know the full list of chrome command and what --user-data used for check this
https://peter.sh/experiments/chromium-command-line-switches/

hope that help and have a nice day