Сам задал сам и отвечу.
Этот код добавляется через вставку кода. Дальше он приводит навигацию к ожидаемому поведению.
Впрочем возможно его добавить и в MasterPage
<script>
function cleanUpMenu() {
let nodes = document.querySelectorAll("li.selected");
if (nodes.length > 0) {
for (let i = 0; i < nodes.length; i++) {
nodes[i].classList.remove("selected");
var hrefs = nodes[i].getElementsByTagName("a");
var href = hrefs[0];
href.classList.remove("selected");
}
}
}
function selectByUrl(url) {
let mi = document.querySelectorAll("a.ms-core-listMenu-item");
for (let i = 0; i < mi.length; i++) {
let item = mi[i];
var href = item.getAttribute("href");
if (url.endsWith(href)) {
item.classList.add("selected");
item.parentElement.classList.add("selected");
}
}
}
setInterval(() => {
cleanUpMenu();
selectByUrl(window.location.href);
}, 1000);
</script>