Edit: Just noticed Marco beat me to it (: cheers!
Hi Tomá!
I think (I am not a 100% sure though) that it has to do with when the expressions are evaluated. I think that the when the Plot command applies the PlotStyle, the expression: {f2, ff2} /. {k4 -> 1, k5 -> 1} haven't been evaluated yet and as it is a single expression, rather than a list of two expressions, all PlotStyles are applied on top of each other, rather than individually on each expression. So you get a dashed and thin blue line.
Forcing the expression to be evaluated will for example solve your problem:
Plot[Evaluate[{f2, ff2} /. {k4 -> 1, k5 -> 1}], {x, 0, 5},
AxesOrigin -> {0, 0}, GridLines -> Automatic,
PlotRange -> {Automatic, Full},
PlotStyle -> {Directive[Red, Dashed], Directive[Blue, Thin]}]
As I said, I am not a hundred percent sure that this is what is happening but the above code should at least fix the problems you are having!
Patrik