expectException() will only return true if the exception thrown is not handled. In your case, since you catch it immediately, the test faIls.
Either change your store method to throw your exception without catching it, or go about your test in a different way.
I realize in this example you're just doing some trial and error, but what exactly do you want to test? What I gather, you don't want to allow Private Profiles to be able to hit the store method.
So - maybe you want to place that logic in middleware, and then test that the user gets denied.
Something like:
public function private_profiles_may_not_create_whatever()
{
$this->actingAs($privateProfileUser)->post('/', [])
->assertStatus(401);
}