Right now is a dotlrn user visits /dotlrn/ and is not a member of any communities and has can_browse_p set to false, they get redirected to index-not-a-user. This causes an infinite redirect because index-not-a-user checks if the user is a dotlrn user and redirects back to /dotlrn/.
Is there a reason the user should not see their personal portal in this case? Strangely if a user with can_browse_p set to false is a member of exactly one community they are automatically redirected to that community portal, but if they happen to be a member of multiple communities, they see their personal portal.
I suggest allowing a user with no community memberships to still see their personal portal.