Trans Log fills during delete, conceptual question
As Dan Guzman originally mentioned in a comment, your understanding of why the active portion of the transaction log couldn't be cleared is correct (it was being used for the large rollback).

There is one thing of interest that I think is worth mentioning related to this:


  The query appeared to keep running even when the trans log got full. I then cancelled the query, and it showed cancelling.


Whenever log records are written to the transaction log, additional space is reserved to accommodate a rollback in case an error is encountered (or an explicit rollback is requested).  This is documented in the MS Docs article SQL Server Transaction Log Architecture and Management Guide, specifically in the section on "Transaction Log Logical Architecture."

When the transaction log looked full, the query execution encountered and error and automatically started rolling back.  Had you waited for this to complete, you would have seen this error message:


  Msg 9002, Level 17, State 4, Line 1
  The transaction log for database 'YourDatabaseName' is full due to 'ACTIVE_TRANSACTION'.