What makes this cell "special" and how to make it an "ordinary" cell again?
It is the CellGroupingRules -> {"GroupTogetherGrouping", 10000.} option. Removing this option from input cell restores the default grouping in the case described in the OP. Generally whenever one uses the menu item "Group Cells", this option is set for all cells which should be grouped together. Apparently this is all what this option do.
UPDATE: As John Fultz notes in the comment, for removing this option from selected cells one can use the menu item "Ungroup Cells".
Is it possible to keep automatic grouping for generated cells if the input cell was manually grouped with some previous cell?
One simple way is to apply "SectionGrouping" by adding the option CellGroupingRules->{"SectionGrouping",100} to the "Text" cell. According to this answer, only "SectionGrouping" and "TitleGrouping" group "InputGrouping" (i.e. "Input" and "Code" cells). The disadvantage is that it will also group all further input cells what is undesirable. One solution suggested in that answer is to add a delimiter which will break up grouping for {"SectionGrouping",100} but not for {"SectionGrouping",50} (i.e. "Subsubsection" style). Here is how it can look like:
And here is a code which generates something like a template (I used the "Delimiter" style from the built-in Documentaion as a base for my delimiter):
NotebookPut@ Notebook[{Cell[ CellGroupData[{Cell["Ordinary \"Subsubsection\" cell", "Subsubsection"], Cell["\"Text\" cell with CellGroupingRules->{\"SectionGrouping\", 100}", "Text", CellGroupingRules -> {"SectionGrouping", 100}], Cell["Ordinary \"Input\" cell", "Input"], Cell["\t", "Delimiter", Editable -> False, CellMargins -> {{48, 14}, {0, -5}}, CellFrameMargins -> 0, CellFrame -> {{0, 0}, {0, 0}}, Evaluatable -> False, TabFilling -> "\[LongDash]\[NegativeThickSpace]", TabSpacings -> {16}, CellGroupingRules -> {"SectionGrouping", 58}, FontFamily -> "Verdana", FontSize -> 9, FontWeight -> "Plain", FontSlant -> "Plain", FontColor -> GrayLevel[.9], CellSize -> {Inherited, 1}], Cell["Ordinary \"Input\" cell", "Input"]}]]}] It is possible to assign a keyboard shortcut (perhaps Ctrl+Space or Alt+Space) for inserting the delimiter. Refs: (1), (2).
Another approach to the problem is demonstrated by Carl Woll in this answer. It has a drawback: output of Echo can't be auto-grouped using this method because Echo isn't supported by "GeneratedCellStyles".

