Я полагаю, что это вопрос мнения, но я всегда проверяю контроллер на предмет последовательности, если не сказать ничего другого. Как вы говорите, если вы иногда используете API напрямую, но в других случаях проходите через контроллер, ваши разработчики могут запутаться в том, как им следует обращаться к данным.
Еще одна вещь, заслуживающая рассмотрения, заключается в том, что, используя контроллер, вы скрываете API от конечного пользователя, что, вероятно, хорошо, поскольку злоумышленники могут довольно легко изменить Javascript для выполнения действий, которые вы не ожидали ( хотя я ожидаю, что API будет иметь меры для решения этой проблемы), но если вы всегда используете контроллер, вы можете быть уверены, что пользователь не сможет напрямую манипулировать данными через API.
Даже если безопасность не является проблемой, как я уже сказал, я все равно буду использовать доступ к контроллеру каждый раз просто для того, чтобы быть последовательным.