"Juan no tiene dos dedos de frente" significa que Juan actúa de forma estúpida, poco previsora o irreflexiva, y acaba perjudicándose a sí mismo o a los demás.
"Pepe es todo un caballero". Es correcto, significa que tiene buenos modales, pero también que muestra nobleza, respeto y generosidad.
"Amelia es de la Virgen del puño" Es muy tacaña. Es correcto.
"Luis es un jabato"
Es correcto, significa que es valiente o atrevido.
"Tomás es un patán"
Solemos usar "patán" para referirnos a alguien tosco, ignorante e incluso torpe, no simplemente a alguien con malos modales.
Espero haberte ayudado.
^_^