Lo que planteaste en el segundo ejemplo es ya lo correcto, porque para que las condiciones incluyan el rango de fecha y alguna de las otras condiciones, obligatoriamente las opcionales deben ir entre paréntesis. Es lo mismo que cualquier operación de lógica proposicional (el WHERE se basa en ella).
Yo simplificaría un poco la sintaxis para que no te complique la vida:
Código MySQL:
Ver original AND (tiposervicio
IN('TERRESTRE', 'TERRESTRE + SEGURO', 'TERRESTRE + INGRESO A PUERTO', 'IMPORTACION', 'IMPORTACION + SEGURO', 'AEREO')