Нормально ли грузить HTML по AJAX?
Может, пришло то самое время, когда нужно полностью разделить фронт и бек и связать их через api? 

Кажется, ваш подход вполне норм, хоть и странноватый. Вы можете уменьшить время получения шаблона, если просто положите его отдельным файлом в вашей структуре файлов проекта и будете получать его гетом напрямую, в обход рендера через yii. 

Но блин, этот замес из монолита и js-рендера вас утомит.
1. Попробуйте использовать js framework, например, vue. Таких мелочей при вашем подходе может всплыть масса. И, как уже вам советовали, стоит подумать о разделении проекта на front и back. Либо внедрить vue в yii2.
2. Если же это вам не нужно и вы хотите идти своим путём можно в контроллере сделать примерно так:

if (Yii::$app->request->isAjax) {
            return $this->renderPartial('_list', [
                'dataProvider' => $dataProvider,
                'checker' => $this->checker
            ]);
        } else {
            return $this->render('index', [
                'searchModel' => $searchModel,
                'dataProvider' => $dataProvider,
                'checker' => $this->checker,
                'futureCount' => $futureCount,
                'pastCount' => $pastCount,
                'myCount' => $myCount,
            ]);
        }
index.php
<div class="box-body">
            <div id="search-content">
                <?= $this->render('_list', [
                    'dataProvider' => $dataProvider,
                    'checker' => $checker
                ]) ?>
            </div>
        </div>

Таким образом, там, где идет загрузка от yii2 - там выводится index.php в котором рендерится_list.php, там где вы обновляете страницу без перезагрузки контроллер вам выдаст только структуру в _list.php. После добавлении записи - просто перезагружаете страницу ajax.