Sim, tem isso também. É uma série de fatores que juntos deram a má fama da linguagem.
E concordo com o que vc disse sobre JS, que inclusive é outra linguagem que recebe muitas críticas. Mas também, ela foi feita às pressas, não tinha como sair tudo certinho. Depois tentaram organizar a bagunça e hoje melhorou um pouco, mas tem coisas que não dá pra consertar mais.
Aliás, essa é a grande lição que linguagens novas deveriam aprender: se começou errado, é difícil - algumas vezes impossível - consertar depois (e o pior é que tem muita linguagem nova que parece que não aprende).
Sobre código de baixa qualidade, isso é um problema geral. Profissionais ruins vão escrever código ruim em qualquer linguagem. Talvez isso seja muito aparente em PHP e JS por elas serem muito usadas, sei lá...