Причем тут ilike и другие таблицы? Он и должен по ним искать. Проблема в поиске по pk item_id. Он по ним не находит если item_id четный, там же на скрине написан item_id и по нему он не ищет если число четное.
Каст переделывает integer item_id в текст, и затем сравнивает текстовый же ввод. Запросы КРОМЕ ЧИСЛА НЕ ОТЛИЧАЮТСЯ И ЧЕТНОЕ НЕ ИЩЕТ А НЕЧЕТНОЕ ИЩЕТ В PR (item_id)