I'm not sure this answers
You won't get this to work with a text cellYou won't get this to work with a text cell. Your CellEvaluationFunction
already receives a parsed string.
If you use an inline text cell you can get it to work
CellPrint@
Cell[BoxData@Cell@TextData["őúű"], "Program", Evaluatable -> True,
CellGroupingRules -> "InputGrouping",
CellEvaluationFunction :> (#[[1, 1]] &)]
But you can only write in the inline text cell. Otherwise
CellPrint@
Cell[BoxData[""], "Program", Evaluatable -> True,
CellGroupingRules -> "InputGrouping",
CellEvaluationFunction :> (FE`makePlainText@First@# &)]