This is all possible and I did exactly this years ago.
First, since you want users to receive updates before “creating the account” go with normal users and not staged.
When a user create a new account on your current app, you will
-
Send API request to create a new user
-
Send API requests to add it to groups
-
Send API request to make it watch some categories