¿Perrito caliente es una palabra compuesta?

No. Una palabra compuesta es una palabra formada por dos o más raíces. Si bien "hot dog" se compone de dos palabras, "hot" y "dog", estas no son raíces. "Hot" es un adjetivo y "perro" es un sustantivo. Por tanto, "hot dog" no es una palabra compuesta.