Hey Mark,
You shouldn't need to modify the callback. All you need is to alter the theme_location which you almost got right. You need to make sure that you have return $args; in your beans_primary_menu_args callback function (after the if statement).
If you are using the offcanvas menu on mobile, make sure that you apply the change onto the beans_primary_offcanvas_menu_args filter too 😉
Happy coding,
Can primary menu be set to offcanvas menu by default? side menu instead of header .
