Excessive log throttling on Azure SQL on business critical tier
After a few weeks with the Azure product team we have great answers to these questions.

The main bottleneck in Azure for us is Log I/O.  Each logical processor has 6 MB/s throughput. So, on Gen4_8, we have 16 logical processors and get 96 MB/s log I/O throughput. On Gen5_8, there are 8 processors so the throughput is 48 MB/S.

The reason for these limits is that if they allowed higher log I/O throughput they wouldn't be able to guarantee that the log shipping job that runs every 5 minutes would be able to capture all the transactions that occurred.

There is also a major issue with using MAXDOP on Azure right now.  By adding MAXDOP 1 to the SELECT INTO statements and our parallel inserts, our performance improved tremendously.  Do NOT use MAXDOP 8 or higher on Gen4 or Gen5! I tested on Gen5_16 and MAXDOP 8 adds a 10 fold increase to run times.   On Gen4_8, our production pool, our parallel insert for loading 1 billion records goes from 40 minutes with MAXDOP 1 to 3.5 hours with MAXDOP 8 (yes, which means we aren't really doing a parallel insert).