As is often the case, by writing out the above and looking at it again I think I may have found the solution to my own issue – does anyone know if this has any undesirable side-effects?
I’ve modified theme.js and changed line 2893 from:
cache = {
nav: navigation,
topLevel: document.querySelectorAll(selectors.siteNavLinkMain),
parents: navigation.querySelectorAll(selectors.siteNavHasDropdown),
subMenuLinks: document.querySelectorAll(selectors.siteNavChildLinks),
activeDropdown: document.querySelector(selectors.siteNavActiveDropdown),
siteHeader: document.querySelector(selectors.siteHeader),
siteNavChildLink: document.querySelectorAll(selectors.siteNavChildLink)
};
to
cache = {
nav: navigation,
topLevel: document.querySelectorAll(selectors.siteNavLinkMain),
parents: document.querySelectorAll(selectors.siteNavHasDropdown), // was navigation -- 3dt
subMenuLinks: document.querySelectorAll(selectors.siteNavChildLinks),
activeDropdown: document.querySelector(selectors.siteNavActiveDropdown),
siteHeader: document.querySelector(selectors.siteHeader),
siteNavChildLink: document.querySelectorAll(selectors.siteNavChildLink)
};