I definitely get the idea, but at the same time, everything you need is technically already available to un-moderate a given user.
We mark a new user as moderated on this add_action line:
add_action( 'user_register',
'bp_registration_options_bp_core_register_account' );
you could do something like
function my_callback( $user_id ) {
//check for user role with the $user_id
...
// Set moderation status to not moderated
bp_registration_set_moderation_status( $user_id, false );
}
add_action( 'user_register', 'my_callback', 11 );
Do understand that I’m not fighting against the idea of filters as a whole, just noting that in a lot of ways it’s a little redundant in this specific spot.