> Is there really a "special" partition for EFI?
Yupe, a partition (whether FAT-formatted or not) isn't a ESP partition unless you make it so. For parted that would require "set <part-number> esp on".
You can have ESP partitions on multiple HDDs/SSDs and indeed I believe you can have multiple ESP partitions on a single device also.
Typically on power-on motherboards automatically boot the first listed (by BootOrder variable) UEFI Boot entry rather than display a boot menu (though your bootlooder, e.g. Grub, could then show a menu instead).
However during boot on some (many?) motherboards if you press the appropriate keystroke then that will trigger the UEFI to scan all drives for ESP partitions to then create and display a boot menu.
> The UEFI boot files are quite small and typically a 200-300MB ESP is enough.
Enough? For the VMs I create I typically only create a 1MiB ESP partition (with FAT12 filesystem) as that will only contain a single GRUBX64.EFI/BOOTX64.EFI file (which from memory only uses approx 5% of the partition). The only reason I don't create an even smaller partition is that I'm running parted with units of 1MiB.
Note: FAT32 (and perhaps FAT16) are defined in the EFI spec as required, I don't believe FAT12 is so there's a risk (however small) that a particular motherboard's UEFI may not support FAT12. As I'm doing this for VMs I know that EDK2, as used by QEMU etc, does support FAT12.