Segments aren't the best option here because they're designed to apply a set of conditions to all Sessions and/or all Users and subsequently segment that data from the entire dataset. What you're trying to do is just exclude a certain page (or set of pages) from the dataset, which is a bit different.
For instance, when the filter is applied that excludes sessions from the homepage, our Contact page has about 17,000 unique views. If I remove that filter, our contact page unique pageviews jumps to 35,000. Is this expected behavior?
Assuming you mean you're excluding sessions where the Landing Page
exactly matches
/
(or an equivalent regex expression), I think it's completely believable that over 50% of your users are coming to the Contact page from the Home page. A good place to check for that information is in Behavior Flow.
Excluding Pages
To exclude a certain page (or set of pages) from the dataset, go to Behavior > Site Content > All Pages and click on Advanced (located to the right of the little search bar). From there, you can exclude the Home page and it won't affect the rest of the dataset.
Filtered View
You may also want to consider creating a new View and applying a filter that excludes based on the conditions Request URI
matches regex
^/$
(or some other equivalent expression), which only excludes data for the Home page but includes data for the other pages. Just make sure to create a new View, as you should never apply a filter to the All Web Site Data view.