The reason why it can't be a single [FAT] partition is: "Because Android unmounts the first FAT partition to share files with your computer [when connected via USB] but the second partition remains mounted." [Link2SD FAQ]
The reason why it can't be a single EXT partition is because... well, because Link2SD says so:
I guess you could format the first partition as EXT, too. So technically, no, you don't need FAT at all. But it's nice to have it, as it's more readily visible to other Android app, and it also shows up immediately when the Android is connected via USB as a media device (MTP).
Now, "You [only] need to use a non-FAT file system (ext2, ext3, ext4 or f2fs) on your second partition in order to link app's private data files." [emphasis added] You can still move an app's binary to a second FAT partition. In fact, when Link2SD detects the second partition, it'll ask you what's the filesystem, at which time FAT is one of the options:
(No link to FAQ because I "need at least 10 reputation to post more than two links".)