link to page_for_posts

I wouldn’t classify this as a WordPress issue persay. The problem is that any get_*() functions return values. This means that get_permalink() returns the permalink to be assigned ot a variable which you’re not doing or intend to do in this case. So we have the value sitting in memory all we need to do is print / echo it:

echo get_permalink( $post_id );

Or in your case:

<input type="button" class="cta-button" value="Newsfeed" onclick="window.open('<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>', '_self')">