class $CLASS_NAME$ with _$$CLASS_NAME$ {
上記のようにテンプレート内の変数CLASS_NAMEを使いたいときに、前に$マークがある場合だと、$変数名$
が変数として認識してくれません。
class $CLASS_NAME$ with _$\$CLASS_NAME$ {
一般的なエスケープ文字である、"\"
もただの文字列として認識しているようで上手くいきません。
解決法
なので、どうするかというと更に"$"
を追加します。
class $CLASS_NAME$ with _$$$CLASS_NAME$ {
これで上手くいきました。

コード全体
import 'package:freezed_annotation/freezed_annotation.dart';
part '$TM_FILENAME_BASE$.freezed.dart';
part '$TM_FILENAME_BASE$.g.dart';
@freezed
class $CLASS_NAME$ with _$$$CLASS_NAME$ {
const factory $CLASS_NAME$({
required String name,
}) = _$CLASS_NAME$;
factory $CLASS_NAME$.fromJson(Map<String, Object?> json) =>
_$$$CLASS_NAME$FromJson(json);
}