Bem, eu descobri qual era o problema, e vou descrevê-lo aqui caso alguém chegue aqui com problemas semelhantes.
Algo estava impedindo que unity-settings-daemon (doravante usd ) funcionasse corretamente. No meu caso, esse algo era indicator-keyboard (daqui em diante indkbd ) que falhou ao carregar por alguma razão que eu ainda não entendi muito bem, mas tem algo a ver comigo adicionando um novo layout de teclado (por que ele causou isso crash - e sem tão pouco como uma mensagem de erro também - está além de mim). E aparentemente, indkbd crashing causou usd a falhar também (novamente, sem uma explicação da causa).
Eu não sei qual processo é executado em usd , mas parece que ele continua sendo lançado várias vezes. Isso foi responsável por grande parte do comportamento estranho que eu estava presenciando (como a constante flutuação entre dois temas e a constante desaparição e reaparição do cursor do mouse). Além disso, qualquer coisa que usd cuida depois de indkbd não foi resolvida, o que explica por que algumas outras coisas não estavam funcionando.
Consegui descobrir onde estava o problema executando dmesg e examinando o segfault : eles eram de incontáveis usd processos, mais alguns indkbd 's - o que me fez suspeitar de indkbd não estava carregando corretamente, o que de fato foi resolvido depois de restaurar minha lista de layout de teclado ( /usr/share/X11/xkb/rules/evdev.xml ).
O titular usd-locate-pointer parece ser responsável por atrair atenção visual para o cursor do mouse ao pressionar Ctrl. Provavelmente não tem nada a ver com o problema que tive, é apenas que mais e mais instâncias dele foram lançadas por usd quando o último foi constantemente relançado (o que sobrecarregou ainda mais o meu sistema).