Cita: lo que note que si no uso INNER JOIN lo hace bien
No confundas el INNER JOIN con el WHERE. Estás hablando de cosas diferentes.
El INNER JOIN requiere
obligatoriamente que haya registros donde los valores de ON sean EXACTAMENTE IGUALES y sean el mismo dato. De lo contrario NO devolverá registros.
En esencia, estás haciendo un INNER JOIN entre columnas que me parce difícil que estén relacionadas, dado que el nombre "ID" es igual en ambas tablas, pero cada tabla parece referirse a una entidad diferente.
Para el el INNER JOIN funcione o el ID del proveedor está en la póliza, o la póliza en el proveedor. Me parece que lo primero es lo correcto, pero en ese caso ¿es que el campo "polizas_egresos.id" es donde almacenas el ID del proveedor?
Si no es así estás relacionando caballos con manzanas.
El WHERE solamente aplica el filtro de las condiciones que indicas, para lo cual hay que tener en cuenta que el LIKE se aplica a campos de tipo VARCHAR. ¿Es correcto que esa "factura" sea eso?