Плату за хранение валюту берут те банки, где есть SWIFT, и откуда клиенты пока что могут вывести валюту за рубеж. В этих банках клиенты держат большой объём безналичной валюты и наращивают её на своих счетах, чтобы перевести за рубеж. Таких банков мало, они монополисты по переводам за рубеж и могут позволить себе брать деньги за хранение валюты на счетах.
В банках, которые под санкциями, и где нет SWIFT, клиентам нет смысла держать валюту, т.к. её там никак нельзя использовать, кроме как отконвертировать в рубли. Там объём валюты сокращается, клиенты от неё избавляются. Чтобы замедлить бегство клиентов из валюты, такие банки дают проценты по валютным счетам и вкладам. Зачем таким банкам нужна валюта? Это проблема баланса. У этих банков могут быть валютные активы (напр. валютные кредиты, оставшиеся со старых времен). Против этих активов должны быть валютные обязательства (вклады, счета). Если не будет баланса между валютными активами и обязательствами, то у банка возникает валютный риск (валютная позиция, которая по требованиям банковского надзора ЦБ, не может быть слишком большой). Поэтому банки под санкциями пытаются удержать у себя валютных клиентов.