Dlaczego tak
Strona wczytana przez HTTPS nie może pobierać aktywnych zasobów, takich jak skrypty, przez nieszyfrowane HTTP — przeglądarka blokuje je jako treści mieszane, dlatego menu nie działa. Wystarczy wskazać skrypt adresem https lub ścieżką względną. Zmiana arkusza na http dodałaby kolejny zablokowany zasób, rezygnacja z SSL obniża bezpieczeństwo, a async zmienia tylko moment wykonania skryptu.