Была у кого схожая проблема:
Навигационный компонент с BottomSheet с табами внизу. Открываешь первый фрагмент, там одно меню, потом переключаешься на другой tab (первый фрагмент остается активным хоть его не видно, onPause не вызывается), а там другое menu. В итоге все меню наклыдваются друг на друга. Так как оба фрагменты активными считаются из за навигационного компонента.
menu.clear() в OncreateOptionsMenu не помогает.
Хз поможет ли, но у меня была ситуация когда при переходе с одного фрагмента на другой через NavigationDrawer один фрагмент удалялся, а другой создавался. Но если с одного фрагмента на этот же, то создавался новый фрагмент, а старый при этом оставался (тоже не вызывался onPause и всё после него). Пришлось менеджить навигацию руками, вместо использования готовой.