Да, звук для оповещения отправляется на серверской стороне.
Документация Apple по этому вопросу (Таблица 9-1)
Говоря про саму реализацию, в принципе проблем не должно быть, потому что все кастомные звуки можно сохранять в самом проекте. И когда пользователь меняет звук, приложения отправляет на сервер запрос, с новыми параметрами для уведомления.