How do I filter get_the_excerpt() but keep all of its functionality intact?

In spite of what the Codex says, since WP 4.5, where the addition of the post argument to the function get_the_excerpt was added, this filter takes two arguments. The second argument is the post object whose excerpt you are manipulating.

So the function still works in the loop without an explicit post, we make the second argument optional.

add_filter( 'get_the_excerpt', 'wpse_242462_excerpt_filter' );

function wpse_242462_excerpt_filter( $excerpt, $post = null ){

      if ( $post ) {
        $ID = $post->ID;
      } else {
        $ID = get_the_ID();
      }

      $excerpt = get_post_meta( $ID, 'wpse_242462_meta_field', true);

      return $excerpt;
});

Hopefully it goes without saying that you need to substitute whatever meta key you are already using.