This is because you are comparing data as strings instead of integers. You can simply omit the type casts and specify integer literals if the data type is DT_I4 as the first expression suggests:
[People Aged Above 18].Mins > 500 ? 60 : [People Aged Above 18].Mins
If you want a string result, add a type cast of the result back to string:
(DT_STR,50,1252))([People Aged Above 18].Mins > 500 ? 60 : [People Aged Above 18].Mins)