Desconheço as análises a que se refere, mas a palavra bobo pode ser tanto adjectivo como substantivo, depende daquilo que se pretende significar. Como adjectivo, significa «maluco», «tolo». Como substantivo, significa «aquele que diverte os outros com os seus ditos e modos», «truão», «bufão».
Na frase em apreço, o sentido mais comum há-de ser o primeiro, como adjectivo, equivalente a: «o tolo do João já chegou». Há situações em que o adjectivo se pode ligar ao substantivo por meio da preposição de, como neste caso.
Agora, se bobo for um substantivo, isso quer dizer que o João tem alguém para o divertir, tem um bobo ao seu dispor (como antigamente os reis tinham). Aí — nesta situação hipotética — «bobo» será um substantivo, à semelhança do que acontece com a palavra filho na frase: «O filho do João já chegou.»