The default filesystem used will be the filesystem of the respective partition which you're mounting.
In your example case
Irrespective of the system's default filesystem
ext4 (since you mentioned) Linux systems (Debian included) will find the partition's filesystem and mount it. However, some filesystem support need to have been compiled in the kernel. But for most commonly used filesystems such as
FAT16, FAT32, NTFS ..... kernel support is
on by default.
As to your first question:
It finds the filesystem type from the
partition table. Partition table is something like contents of a book where you'll have headings, sub-headings, figures etc., listed at the beginning.
partition table will have information such as number of partitions, size of each partition, beginning and end point information for each partition and type of each partition along with the file-system of each partition.
mount reads the file-system information from this
partition table. There are quite a few partition table formats
MBR, GUID, APT etc., Ability to read and understand the partition table formats has to be enabled in the kernel (by default
ext filesystems and few of MS filesystems are enabled in the kernel). Ability to mount, read and write special filesystems such as
Amiga Fast File Systems require ability to read
amiga partition table format which has to be either compiled in or to be loaded as module in to the kernel.
For the second question:
If a partition doesn't have a filesystem because it was not formatted, it will be shown as non-formatted free-space which can be formatted to any file-system of interest.