At the end after all that dynamic JS and loading you get correct valid HTML code which can be crawled by Google and there is no any real difference to Magento 1 or any other CMS. Future more Google increase algorithms every day and they trying to catch all JS same as end user see it, so even if with full page cache some parts will be loaded dynamically - Google will understand that.
And yes, this is handlebars.js on templates. Here is good track to understand the situation Handlebars.js and SEO SO question point us to official Google answer about Ajax Crawling :
Times have changed. Today, as long as you're not blocking Googlebot from crawling your JavaScript or CSS files, we are generally able to render and understand your web pages like modern browsers. To reflect this improvement, we recently updated our technical Webmaster Guidelines to recommend against disallowing Googlebot from crawling your site's CSS or JS files.
Magento 2 out of box have some cool SEO features like schema.org micro-formats, proper canonical tags etc. You can read more about Magento 2 SEO features in our summary https://firebearstudio.com/blog/magento-2-seo.html