Obtienes ese resultado porque AJAX es una petición asíncrona, mientras que el código se ejecuta de forma síncrona, o sea, no espera a que haya una respuesta.
Como solución puedes utilizar
promesas o trabajar de forma síncrona añadiendo el parámetro-valor
async: false
.