I resolved this by switching to @arendajaelu/nestjs-passport-apple, which better integrates with NestJS and handles the OAuth flow correctly.