This issue is non-reproducible due to incorrect form configuration. In order to execute mathematical expressions on text field types, the bind::type column must be set to int or decimal. This is to ensure the field/question in the field app is treated as an integer or decimal type, and not a text type. Setting the bind::esri:fieldtype column only creates the field in the feature layer as integer or decimal upon publishing, it does not change the behavior of the form when executed in the field app.