APPEND_SLASH не происходит безоговорочно - он вступает в силу только в том случае, если после попытки всех существующих шаблонов URL (и связанного представления, если оно соответствует), Django собирается вернуть 404.
Если это так и исходный запрос не имеет косой черты в конце, тогда Django проверяет, соответствуют ли какие-либо шаблоны URL завершающей косой черте. Если это так, он выдает перенаправление HTTP.
Если какой-либо из ваших шаблонов URL совпадает с исходным запросом (без косой черты), Django сначала попытается выполнить его. Если это вызывает исключение, то вы увидите это (я подозреваю, что это то, что происходит). Джанго никогда не получит редирект.