Hey Christopher!
1) It does, but in my experience it doesn’t affect content nearly as often as it does static assets, which the plugin doesn’t control. Last-Modified headers can also ensure this behavior as it’ll add a header that the browser then uses to know for sure if the content has changed or not. I am unfortunately a lot less well versed in browser cache behavior, but this has been my experience when troubleshooting. Let me know if it differs from yours.
2) That is not controlled by the plugin, the plugin just deals with Cache Control and Last Modified headers. Those headers are set to make sure all browsers don’t cache responses when WordPress doesn’t want it to. You can see that method here: https://developer.www.ads-software.com/reference/functions/wp_get_nocache_headers/ (It’s also Matt Mullenweg’s Birthday)
I don’t respect those headers on posts in the current version when logged in, which can lead to some browser weirdness, but I will push an update to fix that in the very near future. (I was only thinking about varnish when I wrote it originally)
3) That is also something set in the Varnish configuration, and not something that has introduced any weird behavior I have known of. It gets set in the varnish config to provide more information around what part of the config it’s ran through in my understanding.
It’s possible that is the case, in a lot of cases a site can be faster on mobile because it’s loading less content. I would recommend using webpagetest.org to get a better perspective though. In the advanced settings I’d recommend no traffic shaping, and at least 3 runs (makes sure you get a good picture of cache). In the other tabs you can alter it to replicate a mobile browser. That will show you the performance differences in a nice waterfall chart.