This a bit complicated but it works for us.
I have two bank accounts with Schwab. A debit card on one account for drawing cash and one for funding the draw account.
I can instantly transfer money between the accounts on the website. I move whatever amount we need from the funding to drawing account just before the ATM withdrawal. I leave 5.00 in that account to keep it open but if the debit card is compromised (2 times so far after 6 years) there's nothing to get.
No fees on the Schwab end and no bank fee at NCB ATMs. Exchange rate is within JA pennies of the published rate at the time of withdraw.
I do have other accounts with Schwab so I'm not sure if you could do this plan "stand alone"
Cap