Just to add another point: the problem appears to be in the oembed caching in the postmeta db table. It stores {{unknown}} as the meta_value.
I looked in media.php and compared it to previous versions. It appears the only or primary change was adding $post_ID to this:
return apply_filters( ’embed_oembed_html’, $cache, $url, $attr, $post_ID );
return apply_filters( ’embed_oembed_html’, $html, $url, $attr, $post_ID );
Not sure if it’s related in any way, but it is definitely an issue with the postmeta cache value. If I delete the *_oembed_* entry from the wp_postmeta table for a post, then the video shows up again.
For now, I did a very dirty fix of adding an sql delete query to the top of my single.php file… Far from pretty or ideal… but at least the videos work again.