Habtm требует промежуточную таблицу - это joinTable в закомментированных вами отношениях.По умолчанию это будет использовать экземпляр AppModel с именем CategoriesRecord, который отображается в таблицу category_records.
Вы не можете избавиться от этой промежуточной модели / таблицы, иначе habtm не будет работать(Это «таблица соединений» для отношений «многие ко многим»)
Сохранение массива в возвращаемых данных на самом деле не приносит никакого вреда - это фактически дает вам удобный способ доступа к каждому из связанныхзначения id при создании форм / ссылок действий и т. д.