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 :
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