I’ll try to take a look in the next few days; there seems to be an issue with this function:
	//used when storing text values from tiddler in context menu HTML
    var sanitize = function (string) {
        const map = {
            '&': '&',
            '<': '<',
            '>': '>',
            '"': '"',
            "'": ''',
            "/": '/',
        };
        const reg = /[&<>"'/]/ig;
        return string.replace(reg, (match) => (map[match]));
    };
I am guessing from the call at the end of this sequence:
        //Streams node compatibility 
        //nearest DOM element that contains this attribute [data-node-title]
        const node = event.target.closest("[data-node-title]"); 
        const nodeTitle = node && node.dataset["nodeTitle"];
        //regular logic if the event was not on a Streams node
        targ = nodeTitle || event.currentTarget.getAttribute("data-tiddler-title"); //based on the div attribute in view template that contains currentTiddler		
        const tiddlerText=$tw.wiki.getTiddlerText(targ);
		const sTarg = sanitize(targ);
It may be struggling to find a target for the context menu… which could very well be the case in this MCL layout.
Can you try and install Streams on your demo wiki (and populating a few Stream nodes instead of/in addition to the tiddler’s main body)? It would be interesting to see if the logic to find a target works in MCL when Stream nodes are present.
Cheers,