Ignoring a category in WP_Query still shows the links in next_post_link()?

You’ll have to exclude the category in your next_post_link and previous_post_link calls too, as it’s using the posts data, not your specific queries data, so, this should fix it:

while ( $homepage->have_posts() ) : $homepage->the_post(); 
    next_post_link( '« %link', '%title', false, '5' );  
    previous_post_link( '%link »', '%title', false, '5' );  
endwhile; 

Where 5 is the excluded category. If you need to exclude more categories, just comma separate them.