Hey Jonathan, you could roll your own UserCreationService, very similar to the default NeosUserCreationService. You can then create different types of registration forms extending/inheriting from the default one, and add a hidden field that writes something into the “additionalAttributes” of the RegistrationFlow object. You can then read in your custom UserCreationService and assign a member/owner role based on that value.
As for the login form, it does not matter what roles your users have - you just get logged in if you have an account, and you’re assigned the authorizations that come with your roles. The only thing you could customize there is where users are redirected after login based on their role, and you can do that by creation your own implementation of the RedirectTargetServiceInterface.