Mudei a fórmula de distância para algo que funciona desde o mysql 5.7. Você não especificou seu banco de dados ou apresentou um exemplo de violino para mostrar seu sistema, então selecionei 5.7 como mini9mum e funciona também em 8.0 como você vê no violino.
a consulta interna precisa de duas coisas o id do usuário que pesquisa e sua posição, pois ele é excluído dos resultados e claro para calcular a distância.
O resultado da consulta é verificado na cláusula where-espero ter a ideia certa, então você deve verificar isso
db<>fiddle aqui