se já tem a relação entre User e Projects, deveria já conseguir puxar usando "with"
algo como:
$projects = Project::where(...)->with('users')->get();
e na view acessar o valor como {{ $projects->user()->name }}
carregando assim a relacão entre Projects e Users
--
outro ponto é que mesmo que a sua logica funcionasse, usando o first() sempre retornaria o owner do primeiro projeto (independente da qtd)