How do I check if a user has view access to a node, in a template file?
Not really an answer, more like a suggestion for an alternative suggestion where that problem should exist, at least not exactly like that.

They way I handled similar problems before (paywall for newspapers in my case) is to not use the node access system for this. In my case, I did it using logic in the template/preprocess as well as dynamically switching the view mode. If you can handle it on a field-by-field basis, then you can also implement hook_entity_field_access() and deny view access to just those specific fields.

That said, I would expect that the method isn't allowed to be called due to the twig sandbox that only allows is/get method calls, but then I'd kind of expect it to throw an exception.

I guess also with my suggestion, you'll need a way to check for something in the template but I would simply do that in hook_preprocess_node() then, add it as a boolean variable to $variables.