Im Prinzip ja, aber beim Längencheck m.E. besser auch den dekodierten Titel verwenden:
add_filter( 'share_on_mastodon_status', function( $status, $post ) {
$title= html_entity_decode($post->post_title);
$text = wp_strip_all_tags( $post->post_content );
$text = html_entity_decode($text);
$link = get_permalink( $post );
$text = mb_substr($text,0, 484 - mb_strlen($title) - mb_strlen ($link)); //500 - 6 line breaks, 3 dots, 1 space, 6 for hashtag
return $title . "\n\n" . $text . "...\n\n" . $link . "\n\n #pnpde";
}, 10, 2 );
(ich hab' außerdem mal den Kommentar angepasst und die Maximallänge auf 484 korrigiert)