Então, basicamente, eu descobri isso depois de muita escavação na internet. Esta é a melhor resposta que encontrei, em outro fórum, no link
Basicamente, você precisará primeiro adicionar um canal falso, um "nulo sumidor", onde as entradas serão coletadas. Vamos chamá-lo de "entradas" e vamos criá-lo usando este comando:
pactl load-module module-null-sink sink_name=inputs
Depois disso, você precisará criar tantos canais virtuais necessários para os dispositivos que você precisa se conectar, vinculando isso ao canal de "entradas" que você criou antes. Então, por favor, repita este comando para qualquer entrada que você queira mixar (e adicione um se você quiser mixar também a entrada do seu laptop):
pactl load-module module-loopback sink=inputs
Agora você terá que conectar este novo canal de "loopback" ao dispositivo que você pretende gravar. Você pode fazer isso usando o "pavucontrol" (instale-o se estiver faltando), abra a guia "Recording", selecione "Virtual Streams" no seletor inferior e então certifique-se de conectar uma entrada diferente para cada loopback diferente.
Neste ponto, é apenas uma questão de usar sua entrada em seu aplicativo para gravação e está tudo pronto! Por favor, lembre-se de configurar também a saída como descrito na minha pergunta original:)
Fico feliz em receber uma resposta melhor, pois esse procedimento (mesmo que possa ser automatizado) ainda é muito propenso a erros e não inclui automaticamente novos dispositivos adicionados posteriormente (você terá que configurar um novo canal e adicionar -los novamente).