I tried MPICH 2 1.5 and MPICH 3.3 and Intel MPI 2018.4.
Command line was simple: mpiexec -host "host1:2,host2:2" <cpi> example.
MPICH mpiexec (Hydra) launched 4 processes. Intel MPI mpiexec launched number of CPUs on both hosts processes.
This is the expected behavior. Intel® MPI Library does not support this syntax for the -hosts option. There was no specification for the number of ranks in a recognized manner, therefore the default is to put a number of ranks equal to the number of cores. In order to achieve your desired behavior, please use the -machinefile <file> option. The specified file should contain the <host>:<ranks> syntax, with one host per line.
But if Intel MPI mpiexec is based on MPICH Hydra why Hydra's -host syntax could not be supported? I don't think that creating temporary files for -machinefile is better solution then more flexible -hosts.