I tested the private function on demo site just now:
When logged in (as admin or subscriber), posts set to private do not show up in the grid on the Portfolio Home page.
Yes, it will hide in portfolio.
They are accessible when i open the post directly, so the user rights are there. (Otherwise i’d see a error message instead of the post content)
If you logged in site, you’ll see all your own post by the page url(the author can see own private post, I think it make sense, it is default ruler of WordPress also). Other users(logged or non-logged in) will not see this post by the post url directly. You say you can visit it, did you log in the site?
I am not very clear your question. Do you want the private post shown in portfolio list? Not shown by the post url directly??