I was recently having similar problems and that solved it for me. i.e.:
menu.showMenuAsync(PopupMenu::Options().withTargetComponent(this).withInitiallySelectedItem(selectedItem), callback);
Also, my case may be different because I was designing a Button with a popupmenu containing CustomMenuComponents (little images), but you can use PopupMenu::CustomComponent::setHighlighted()
to manually clear/control highlighting.