See this TurboTax support FAQ for payment of the TurboTax account fees when the federal tax refund is delayed - https://ttlc.intuit.com/community/charges-and-fees/help/why-was-my-bank-account-auto-debited-for-tur...
I don't think that FAQ quite addresses the situation. Here's my understanding.
When you ask to pay the fees from your refund, your refund gets sent to a third party bank that opens an account in your name, deducts the fees, sends the rest of the money to your regular bank account, and closes the new account. There is an additional $40 processing fee for this service.
When the IRS holds your refund, you have pre-authorized Turbotax to debit the program fees from your bank account. This should not include the $40 refund transfer fee. However, if the IRS does eventually pay your refund, it still has to go to that third party bank, because the IRS does not allow customers to change the bank account number for their direct deposit. So the bank still has to open an account, receive the deposit, send it to your regular bank, and close the temporary account, so they will still charge the $40 processing fee.
I think the only way to avoid this is to call the IRS and cancel the direct deposit. They will mail a paper check to the address on your return, and it will take longer than direct deposit, but there won't be any way for the bank to deduct a fee.