As fontes consultadas não confirmam a origem germânica de loca.
José Pedro Machado, no seu Dicionário Etimológico da Língua Portuguesa, considera que o vocábulo tem origem obscura, embora refira (sem a perfilhar) a hipótese de a palavra poder ter origem no tupi roca, cujo r inicial seria não múltiplo, mas, sim, brando (mais próximo do r de caro), o que permitiria explicar a passagem desse r inicial a l. O Dicionário Geral e Analógico da Língua Portuguesa, de Artur Bivar, e o dicionário da Academia das Ciências de Lisboa registam loca como o mesmo que «pequeno esconderijo para peixes, «pequena gruta» e «cavidade», considerando o segundo dicionário que a palavra tem origem obscura. O Dicionário Houaiss (1.ª edição brasileira , de 2001), também a regista em aceções semelhantes, mas atribui-lhe origem latina: «lat. loca, orum neutro plural do latim locus, i "lugar, sítio, localidade, ponto tópico"». Esta fonte parece seguir o que já antes sugerira interrogativamente Cândido de Figueiredo no seu dicionário (edição de 1913, disponível em versão em linha), proposta registada por Antenor Nascentes, no seu Dicionário Etimológico da Língua Portuguesa («Figueiredo cita em dúvida o latim locus, lugar»).
Se loca tem origem latina, diga-se que não parece haver relação do latim locus com o alemão Loch («buraco»), atendendo às respetivas etimologias: o radical de locus (loc-) vem do radical indo-europeu *st(h)el («pôr, colocar»), enquanto Loch se terá desenvolvido da raiz também indo-europeia *leug-, *lŭg-, «dobrar, torcer» (cf., em inglês, Online Etymology – aqui e aqui; e, em alemão, o Digitale Wörterbuch der deutschen Sprache). Note-se também que a palavra não tem cognatos registados nos dicionários de galego, espanhol, catalão, francês ou italiano. Se não existe em galego, então, pode supor-se que loca tenha começado a ter uso no português depois do período medieval, ou seja, depois de o português e o galego começarem a divergir claramente.
Em suma, a palavra loca tem origem obscura. Não sendo de excluir que provenha do latim, pode ter sido introduzida em português já depois da idade Média.