student_valueproperty is the wrong one to change. This is (and should always be) the MathObject that was obtained from parsing the student's answer. It is a mistake to replace this by a string, as other parts of WW may look at this value and expect to have a MathObject (e.g., AnswerHints, or other post-filters).
The field that ends up in the "Entered" column is
student_ans (corresponding to
corrections, just as
student_value corresponds to
correct_value). You certainly can set that during a custom answer checker.
But there is an easier way. The
formatStudentAnswer flag in the Context controls how the entered field will be displayed. If you want it to be "f(2)" rather than "8", set it to
reduced, as I did in my example above. The difference between the two is that
reduced will reduce constant expressions, and so will make "f(2+3)" into "f(5)", while
parsed will show the original without any modifications (so would show "f(2+3)").