Olá Thiago, tudo bem?
Muito obrigada por compartilhar sua sugestão com a gente! É sempre bom quando podemos trocar ideias e melhorar nossos códigos.
Realmente, a função limpatela pode acabar removendo também o fundo com a cor lightgrey, o que pode não ser o desejado em alguns casos. Sua solução de adicionar o pincel.fillStyle = 'lightgray'; e pincel.fillRect(0, 0, 600, 400); após o pincel.clearRect(0, 0, 600, 400); é uma ótima alternativa para garantir que o fundo seja mantido.
Continue assim, sempre buscando melhorar seu código e compartilhando suas soluções com a comunidade. Espero ter ajudado e bons estudos!