*Third party themes are off topic, but I ended up checking it anyway:*

The Problem
-----------

What comes before & after your posted code is important:

**Before:**
   
    // Return array of cached results if they exist.
	$featured_ids = get_transient( 'featured_content_ids' );
	if ( ! empty( $featured_ids ) ) {
		return array_map( 'absint', (array) $featured_ids );
	}

**After:**

    // Ensure correct format before save/return.
    $featured_ids = wp_list_pluck( (array) $featured, 'ID' );
    $featured_ids = array_map( 'absint', $featured_ids );
    set_transient( 'featured_content_ids', $featured_ids );

This means your theme is caching the featured post IDs, through the Transients API.

So randomizing will not work like you expected.

The default TTL is 0, meaning it will never expire, until it's deleted by hand.


Workaround
-----------

Instead, modify this in `Featured_Content::get_featured_posts()`:

    $featured_posts = get_posts( array(
			'include'        => $post_ids,
			'posts_per_page' => count( $post_ids ),
	) );

to:

    $featured_posts = get_posts( array(
			'include'        => $post_ids,
			'posts_per_page' => count( $post_ids ),
            'orderby'        => 'rand'
	) );

within your child theme.


Another option would be to try:

    add_filter( 'longform_get_featured_posts', function( $posts )
    {
        shuffle( $posts );
        return $posts;
    }, 11 );