Tu pareja es un maleducado y trata mal a tu hijo, pero en el tema de las mechas tiene razón.. Tiene tres años! Esta bien que le dejes explorar sus gustos, pero como te aconseja otra forera.. echarle alguna gomina de colores o algo que se pueda ir con el lavado, pero teñir a un crio tan pequeño no me parece buena idea.
Quitando eso, yo hablaría con tu ex, puede que no sirva de nada pero se lo debes a tu hijo. Dile que no puede decir ciertos comentarios delante del niño, que lo tiene que tratar con respeto y que el niño está empezando a cogerle miedo.
Si el padre continua con este tipo de comportamientos deberías plantearte llevar a tu hijo a terapia para que su relación con el padre no le defina la vida.