I migrated from Gnucash about a decade ago. I had on the order of hundreds of single-currency trading transactions, and tens of two-currency transactions. So a lot simpler than yours, and someone who migrated recently can probably be of more help than me.
That said, what I remember is, all those transactions boiled down to having to ensure that just a handful of base cases migrated correctly, and the whole thing just worked. I think I wrote balance assertions, and then just ran my migration script until the assertions checked out.
Despite the above, on the most complex two or three trading accounts, I initially used an `Equities` account to "start from today" and then took my time (a year or two) to backfill the history from Gnucash, with the main sticking point being lot matching.
The number of commodities shouldn't be an issue. I'd recommend figuring out your biggest unresolved issue and posting specific example, and iterating.
Good luck!