Remove function or filter

Your problem isn’t that you did the wrong thing, it’s that you did it at the wrong time. When it happens is important, not where.

In a child theme, the functions.php is loaded, then the parents, so you’re doing this:

  1. Remove the first_paragraph function from the_content filter
  2. Add the first_paragraph function to the_content filter

Clearly this is the wrong way round. It’s like building the penthouse of a skyscraper first then building the foundations second, it isn’t going to work. Here you can’t remove the filter because it hasn’t been added yet

To get around this, remove the filter at a later point using an action/hook, e.g.:

// when the init hook fires
add_action( 'init', 'sillo_remove_that_filter' );

function sillo_remove_that_filter() {
    // remove the filter
    remove_filter( 'the_content', 'first_paragraph' );
}