Should "Long Running with Low CPU" be expected for an SPROC that performs millions of INSERTS?
The calcuation of the "long running query with low cpu" metric in sp_BlitzCache at the time of writing is

long_running_low_cpu = CASE WHEN AverageDuration &gt; AverageCPU * 4 AND AverageCPU &lt; 500. THEN 1 END


With AverageCPU = (total_worker_time / 1000.0) / execution_count

And  AverageDuration  = (total_elapsed_time / 1000.0) / execution_count

Both from the dmv sys.dm_exec_query_stats;

So this means that your average cpu time for this query is lower than 0.5 seconds while your AverageDuration is higher than 4 times your AverageCPU for this query.

The difference between these two metrics would be a next step to look at to see if there is an actual problem at hand.

The reason for the difference between the two is something for you to figure out by conducting workload monitoring.

One of these common reasons include blocking, such as the insert being blocked by another query, causing low cpu time with a higher duration.

Another reason to look into would be resource limits on the database engine or the application server.