<template> technically "works" in lit-html now, but most bindings, but especially property and event listeners, aren't going to work properly inside template elements. In this case the event listener is added to a node in a template, but then the template is probably cloned by <vaadin-context-menu> and event listeners aren't cloned with nodes.
<vaadin-context-menu> is probably expecting a Polymer-style template, with Polymer binding syntax. They'll need a new version (if one doesn't already exist) that's more agnostic towards templates and take a render function or something similar.