I see. So the issue is about whether the post “exists”. But if get_post_custom returns true, it seems to me that its an ACF issue – either its relying on a deprecated function to return if a post exists (and that function relays a private page as not existing) or not correctly searching to see if post exists… Maybe get_field does wpdb SELECT for post_status = publish?