sql – Trazer múltiplos dados

Eu tenho esse select, a intenção dele é ele me retornar os kits que contenham esses ids obrigatoriamente (pode conter mais produtos mas esses precisam estar), (556, 557,534, 558, 1224, 805) e não retornar esses ids (420, 419). Porém com IN, ele está trazendo dados que não contenham os itens obrigatórios.

select distinct 
    
        ctl_produto_lista.cpli_cpro_id_master as "Id Kit",
        cad_produto.cpro_nome as "Kit",
        cad_produto.cpro_descricao as "Descrição"
        
from ctl_produto_lista 

left join cad_produto

where cpli_cpro_id_item in (556, 557,534, 558, 1224, 805)

and cpli_cpro_id_item not in (420, 419);