Should the swap partition be allocated on the SSD or the HDD?
I doesn't matter nowadays. Avoiding write operations in a SSD was an advice given years ago when the SSDs where somehow more fragile and could wear out faster than traditional HDDs. The current generation have an expected lifespan similar to HDDs so that shouldn't be a problem.
However, in your case, given the space available I still suggest creating
swap in the HDD. But the "default=RAM" isn't needed. With 16GB RAM I would have 2-4GB swap, no more, and even that is likely to be seldom used.
I will be mainly working on Ubuntu and not on Win10, how much of the
SSD should be allocated for ubuntu if I aim to save everything on the
HDD except the OS?
Assuming you will create a separated
/home partition in the HDD then 20-25GB for the root partition in the SSD is plenty for the OS and user installed software you may want but feel free to use more if you can afford it.
Is there a tutorial to help make the partitions for the OS on SSD and
/home on HDD and the swap wherever is better?
There's no tutorial per se and there are different opinions. Here's mine:
/home (as much as available) and a small
swap in the HDD.
You can start by shrinking the Windows partitions in Windows. Reboot a few times (to Windows) and make sure everything is working fine with the new partitions sizes. Once you have unallocated space in the drives you can proceed with the Ubuntu installation. Choose "Something Else" to manually create the different partitions in the different drives.
As a final comment, are you sure the installed Windows is in Legacy mode? Otherwise please read How do I install Ubuntu alongside a pre-installed Windows with UEFI? . The only additional step for UEFI would be, at "Something Else", to select (not format) the EFI partition which should be at the beginning of the SSD.