Your title “Splitting widgets to methods is an antipattern” is easy to misunderstand.

The point is not “splitting methods” but “const on calling site”

Your content is not wrong BUT you should highlight below comment more and rewrite again on description

return Row(

  children: [
    Text('Counter: $_counter'),

   // If you can 'call constructor with const', prefer to extract 
   // StatelessWidget and call const constructor.
   // If you have constructor parameters, you 
   // can 'call constructor with const' only if all parameters are 
   // constant (not variable)
    const _NonsenseWidget(),
  ],
);

Finally, ‘prefer_const_constructors’ options with https://pub.dev/packages/lint will remove unnecessary build() on overall your app more simply and effectively. This is the same principle with this blog post

GitHub-flavored Markdown & a sane subset of HTML is supported.