В итоге не найдя готового решения остановился на CASL и решил использовать mongodb. CASL имеет поддержку mongo, и решил хранить все родительские термины таксономии в документе. Заполняется массив родительских элементов через хук save в mongoose.
Указанный подход показал себя хорошо на выборках, но зато изменение структуры стало очень болезненным процессом.