Does mysql horizontal partitioning create new ibd files for each partition?
Short answer: Yes; 4 .ibd files of about 1/4 the total size.

Long answer:

There are multiple things going on...


Different engines have PARTITIONs implemented.  In all cases from 5.1 (when Partitioning was introduced) through at least 5.7, a partition is effectively a separate table.
innodb_file_per_table controls whether InnoDB puts new tables (and its partitions) in the ibdata1 file, or in individual .ibd file(s).
"Native partitions" may be coming soon (5.8?); that will change much of this answer.
Depending on the data distrubution and the details of the PARTITION clause in your CREATE TABLE, the partitions are not necessarily similar size.


In my experience, PARTITION BY RANGE is the only useful one, and there are only 4 use cases where it is of any use.  Details.