Через инспектор элементов посмотрите высоту элемента, к которому задан якорь для скролла. Там должна быть нормальная высота, которая никуда "не плывет".
По поводу закрытия мобильного меню после клика попробуйте мой:
$(function () {
$('.mobile_menu').on('click', function () {
if ($('.toggle_menu').css('display') != 'none') {
$(".toggle_menu").trigger("click");
}
});
});