diff --git a/dvc/command/experiments.py b/dvc/command/experiments.py
--- a/dvc/command/experiments.py
+++ b/dvc/command/experiments.py
@@ -851,7 +851,7 @@ def run(self):
             force=self.args.force,
         )
 
-        name = self.args.name or self.args.type
+        name = self.args.name or "train"
 
         text = ui.rich_text.assemble(
             "\n" if self.args.interactive else "",
diff --git a/dvc/repo/experiments/init.py b/dvc/repo/experiments/init.py
--- a/dvc/repo/experiments/init.py
+++ b/dvc/repo/experiments/init.py
@@ -213,7 +213,7 @@ def init(
     from dvc.dvcfile import make_dvcfile
 
     dvcfile = make_dvcfile(repo, "dvc.yaml")
-    name = name or type
+    name = name or "train"
 
     _check_stage_exists(dvcfile, name, force=force)
 

diff --git a/tests/func/experiments/test_init.py b/tests/func/experiments/test_init.py
--- a/tests/func/experiments/test_init.py
+++ b/tests/func/experiments/test_init.py
@@ -30,10 +30,10 @@ def test_init_simple(tmp_dir, scm, dvc, capsys):
     assert main(["exp", "init", script]) == 0
     out, err = capsys.readouterr()
     assert not err
-    assert "Created default stage in dvc.yaml" in out
+    assert "Created train stage in dvc.yaml" in out
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "default": {
+            "train": {
                 "cmd": script,
                 "deps": ["data", "src"],
                 "metrics": [{"metrics.json": {"cache": False}}],
@@ -46,38 +46,32 @@ def test_init_simple(tmp_dir, scm, dvc, capsys):
 
 
 @pytest.mark.parametrize("interactive", [True, False])
-@pytest.mark.parametrize("typ", ["default", "live"])
-def test_when_stage_already_exists_with_same_name(
-    tmp_dir, dvc, interactive, typ
-):
-    (tmp_dir / "dvc.yaml").dump({"stages": {typ: {"cmd": "test"}}})
+def test_when_stage_already_exists_with_same_name(tmp_dir, dvc, interactive):
+    (tmp_dir / "dvc.yaml").dump({"stages": {"train": {"cmd": "test"}}})
     with pytest.raises(DuplicateStageName) as exc:
         init(
             dvc,
             interactive=interactive,
-            type=typ,
             overrides={"cmd": "true"},
             defaults=CmdExperimentsInit.DEFAULTS,
         )
     assert (
-        str(exc.value) == f"Stage '{typ}' already exists in 'dvc.yaml'. "
+        str(exc.value) == "Stage 'train' already exists in 'dvc.yaml'. "
         "Use '--force' to overwrite."
     )
 
 
-@pytest.mark.parametrize("typ", ["default", "live"])
-def test_when_stage_force_if_already_exists(tmp_dir, dvc, typ):
+def test_when_stage_force_if_already_exists(tmp_dir, dvc):
     (tmp_dir / "params.yaml").dump({"foo": 1})
-    (tmp_dir / "dvc.yaml").dump({"stages": {typ: {"cmd": "test"}}})
+    (tmp_dir / "dvc.yaml").dump({"stages": {"train": {"cmd": "test"}}})
     init(
         dvc,
-        type=typ,
         force=True,
         overrides={"cmd": "true"},
         defaults=CmdExperimentsInit.DEFAULTS,
     )
     d = (tmp_dir / "dvc.yaml").parse()
-    assert d["stages"][typ]["cmd"] == "true"
+    assert d["stages"]["train"]["cmd"] == "true"
 
 
 def test_with_a_custom_name(tmp_dir, dvc):
@@ -91,7 +85,7 @@ def test_init_with_no_defaults_non_interactive(tmp_dir, scm, dvc):
     init(dvc, defaults={}, overrides={"cmd": "python script.py"})
 
     assert (tmp_dir / "dvc.yaml").parse() == {
-        "stages": {"default": {"cmd": "python script.py"}}
+        "stages": {"train": {"cmd": "python script.py"}}
     }
     scm._reset()
     assert not (tmp_dir / "dvc.lock").exists()
@@ -134,7 +128,7 @@ def test_init_interactive_when_no_path_prompts_need_to_be_asked(
     )
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "default": {
+            "train": {
                 "cmd": "cmd",
                 "deps": ["data", "src"],
                 "live": {"dvclive": {"html": True, "summary": True}},
@@ -159,7 +153,7 @@ def test_when_params_is_omitted_in_interactive_mode(tmp_dir, scm, dvc):
 
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "default": {
+            "train": {
                 "cmd": "python script.py",
                 "deps": ["data", "script.py"],
                 "metrics": [{"metrics.json": {"cache": False}}],
@@ -189,7 +183,7 @@ def test_init_interactive_params_validation(tmp_dir, dvc, capsys):
 
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "default": {
+            "train": {
                 "cmd": "python script.py",
                 "deps": ["data", "script.py"],
                 "metrics": [{"metrics.json": {"cache": False}}],
@@ -232,7 +226,7 @@ def test_init_with_no_defaults_interactive(tmp_dir, dvc):
     )
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "default": {
+            "train": {
                 "cmd": "python script.py",
                 "deps": ["python script.py", "script.py"],
                 "metrics": [{"metric": {"cache": False}}],
@@ -278,7 +272,7 @@ def test_init_interactive_default(
 
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "default": {
+            "train": {
                 "cmd": "python script.py",
                 "deps": ["data", "script.py"],
                 "metrics": [{"metrics.json": {"cache": False}}],
@@ -359,7 +353,7 @@ def test_init_interactive_live(
     )
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "dl": {
+            "train": {
                 "cmd": "python script.py",
                 "deps": ["data", "script.py"],
                 "live": {"dvclive": {"html": True, "summary": True}},
@@ -403,7 +397,7 @@ def test_init_with_type_live_and_models_plots_provided(
     )
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "dl": {
+            "train": {
                 "cmd": "cmd",
                 "deps": ["data", "src"],
                 "live": {"dvclive": {"html": True, "summary": True}},
@@ -436,7 +430,7 @@ def test_init_with_type_default_and_live_provided(
     )
     assert (tmp_dir / "dvc.yaml").parse() == {
         "stages": {
-            "default": {
+            "train": {
                 "cmd": "cmd",
                 "deps": ["data", "src"],
                 "live": {"live": {"html": True, "summary": True}},
diff --git a/tests/unit/command/test_experiments.py b/tests/unit/command/test_experiments.py
--- a/tests/unit/command/test_experiments.py
+++ b/tests/unit/command/test_experiments.py
@@ -628,7 +628,7 @@ def test_experiments_init(dvc, scm, mocker, capsys, extra_args):
         interactive=False,
         force=False,
     )
-    expected = "Created default stage in dvc.yaml."
+    expected = "Created train stage in dvc.yaml."
     if not extra_args:
         expected += (
             ' To run, use "dvc exp run".\n'

exp init: change stage name to `train`
@dberenbaum, with `--dl`, I don't think `dl` as a default stage name makes sense. Maybe we should go with `train` then?

_Originally posted by @skshetry in https://github.com/iterative/dvc/issues/6446#issuecomment-986792458_

tests/func/experiments/test_init.py::test_init_interactive_live[non-interactive] tests/func/experiments/test_init.py::test_init_with_type_default_and_live_provided[True-inp1] tests/func/experiments/test_init.py::test_when_stage_already_exists_with_same_name[False] tests/func/experiments/test_init.py::test_init_interactive_when_no_path_prompts_need_to_be_asked[extra_overrides0-inp0] tests/func/experiments/test_init.py::test_init_interactive_live[interactive-cmd-provided] tests/func/experiments/test_init.py::test_init_with_type_live_and_models_plots_provided[True-inp1] tests/func/experiments/test_init.py::test_init_with_type_live_and_models_plots_provided[False-None] tests/func/experiments/test_init.py::test_init_with_no_defaults_non_interactive tests/func/experiments/test_init.py::test_init_interactive_when_no_path_prompts_need_to_be_asked[extra_overrides1-inp1] tests/func/experiments/test_init.py::test_init_interactive_live[interactive-cmd-models-provided] tests/func/experiments/test_init.py::test_init_simple tests/unit/command/test_experiments.py::test_experiments_init[extra_args0] tests/func/experiments/test_init.py::test_init_with_type_default_and_live_provided[False-None] tests/func/experiments/test_init.py::test_init_interactive_live[interactive] tests/func/experiments/test_init.py::test_when_stage_force_if_already_exists tests/func/experiments/test_init.py::test_when_params_is_omitted_in_interactive_mode tests/unit/command/test_experiments.py::test_experiments_init[extra_args1] tests/func/experiments/test_init.py::test_when_stage_already_exists_with_same_name[True] tests/func/experiments/test_init.py::test_init_interactive_default[non-interactive] tests/func/experiments/test_init.py::test_init_with_no_defaults_interactive tests/func/experiments/test_init.py::test_init_interactive_params_validation tests/func/experiments/test_init.py::test_init_interactive_default[interactive]
tests/unit/command/test_experiments.py::test_experiments_init_type_invalid_choice tests/unit/command/test_experiments.py::test_experiments_remove[False-False-True] tests/func/experiments/test_init.py::test_with_a_custom_name tests/unit/command/test_experiments.py::test_experiments_init_extra_args[extra_args1-expected_kw1] tests/unit/command/test_experiments.py::test_experiments_gc tests/unit/command/test_experiments.py::test_experiments_init_extra_args[extra_args3-expected_kw3] tests/unit/command/test_experiments.py::test_experiments_init_cmd_not_required_for_interactive_mode tests/unit/command/test_experiments.py::test_show_experiments_csv tests/unit/command/test_experiments.py::test_experiments_remove[True-False-None] tests/unit/command/test_experiments.py::test_experiments_show tests/unit/command/test_experiments.py::test_experiments_diff tests/unit/command/test_experiments.py::test_show_experiments_sort_by[desc] tests/unit/command/test_experiments.py::test_experiments_apply tests/unit/command/test_experiments.py::test_experiments_pull tests/unit/command/test_experiments.py::test_experiments_list tests/unit/command/test_experiments.py::test_experiments_init_config tests/unit/command/test_experiments.py::test_experiments_init_extra_args[extra_args2-expected_kw2] tests/unit/command/test_experiments.py::test_experiments_init_explicit tests/unit/command/test_experiments.py::test_experiments_branch tests/unit/command/test_experiments.py::test_experiments_remove[False-True-None] tests/unit/command/test_experiments.py::test_experiments_push tests/unit/command/test_experiments.py::test_experiments_init_extra_args[extra_args4-expected_kw4] tests/unit/command/test_experiments.py::test_experiments_run tests/unit/command/test_experiments.py::test_show_experiments_sort_by[asc] tests/unit/command/test_experiments.py::test_show_experiments_md tests/unit/command/test_experiments.py::test_experiments_init_extra_args[extra_args0-expected_kw0] tests/func/experiments/test_init.py::test_abort_confirmation tests/unit/command/test_experiments.py::test_experiments_diff_revs tests/unit/command/test_experiments.py::test_experiments_init_cmd_required_for_non_interactive_mode