My quick tests suggests that the TEXTEDIT behaves as described in the documentation.
The documentation
https://4js.com/online_documentation/fjs-fgl-manual-html/#c_fgl_FormSpecFiles_TEXTEDIT_Item_Type.html says (my bolding)
You can use the SCROLLBARS attribute to define vertical and/or horizontal scrollbars for the TEXTEDIT form field. By default, this attribute is set to VERTICAL for TEXTEDIT fields. The STRETCH attribute can be used to force the TEXTEDIT field to stretch when the parent container is re-sized. Values can be NONE, X, Y or BOTH. By default, this attribute is set to NONE for TEXTEDIT fields. Note that using either the SCROLLBARS or the STRETCH attribute will automatically set the SCROLL attribute, to bypass the size limit defined by the screen tag and use the size of the program variable instead. For more details about size limitation, see the SCROLL attribute definition.
My quick test was
DEFINE s1,s2 STRING
MAIN
OPEN WINDOW w WITH FORM "textedit"
INPUT BY NAME s1,s2
DISPLAY s1
DISPLAY s2
END MAIN
LAYOUT
GRID
{
[f01 ]
[ ]
[f02 ]
[ ]
}
END
END
ATTRIBUTES
TEXTEDIT f01 = formonly.s1, SCROLLBARS=NONE, STRETCH=NONE, FONTPITCH=FIXED;
TEXTEDIT f02 = formonly.s2;
So the first field does not have scrollbars or stretch, so the scroll attribute is not automatically set, and hence I am limited to entering the amount of text defined by the screen tags. This is useful for ASCII reports where you may have an area e.g. 4 lines by 60 columns set aside for notes/comments.
The second field received the default scrollbars/stretch settings which do set scrollbars=vertical, and hence the scroll attribute is automatically set, and hence the program variable controls the length of what can be entered. In this case a STRING so unlimited.
So I suggest taking this example, check you get the same behaviour. If you don't then report back with versions and OS so that the issue can be reproduced, or modify the example so that you get your undesired behaviour.
Reuben