Eu acho que o motivo pode ser que você está realmente selecionando a mesma tabela duas vezes com a cláusula FOR UPDATE, uma vez na consulta principal e outra na subconsulta.