Оказалось, правильный способ инициализации AVAudioRecorder в этом случае должен быть:
let recordSettings =
[AVEncoderBitRateKey: 32000,
AVFormatIDKey: kAudioFormatOpus,
AVSampleRateKey: 16000.0] as [String: Any]
let recorder = try! AVAudioRecorder(url: url, settings: recordSettings)
recorder.record()
Не пытайтесь сначала инициализировать AVAudioFormat, а затем передать его в AVAudioRecorder.
Вместо этого вызовите init с настройками напрямую:
AVAudioRecorder(url: url, settings: recordSettings)