I have done mine by location.
So for example for Canada I would do the following
(I personally have not seen a subdomain set up by currency before)
For Canada I have the languages English and French set up (you do need to pick a default) but you can request that the first language shown is the same language in the user’s browser.
So on this subdomain the currency is CAD with two languages available and I also have a currency and language switcher set up just in case they wish to change.
I have a few different languages on my store, but it is not recommended to add too many languages to each subdomain as this can negatively impact your SEO ranking.
For each country I have set the default language to the native language of the country and I have included English always too, but I wouldn’t suggest adding German or another language to the Canadian subdomain.
Hope this helps!
I have previously always used subdirectories, so I am waiting to see if it is worth spending the extra money on subdomains. Fingers crossed!
p.s yes you can have the same language on different subdomains