Parece que consegui resolver esse problema e, como ninguém abordou esse problema específico, deixe-me contar como o fiz.
Acontece que o Windows 10 (e algumas versões anteriores também) tem configurações de idioma separadas para a tela de bloqueio. Quando você instala seus próprios layouts personalizados, o Windows configura sua própria contraparte para a tela de bloqueio, provavelmente para evitar problemas com entradas não padrão.
Assim, sempre que você coloca um computador do modo de suspensão, hibernação, proteção de tela ou tela de bloqueio, ele alterna entre esses dois conjuntos de layouts: seus personalizados e seus equivalentes padrão. Mas se eles não corresponderem, ou seja. você tem seu próprio layout de teclado francês e a tela de bloqueio tem o layout de teclado MS francês - o Windows simplesmente redefine os atalhos de layout até ser reiniciado.
A solução, portanto, é copiar as configurações do layout do teclado personalizado para a tela de bloqueio. Você pode fazer isso no Painel de Controle: Painel de controle → Configurações de hora e regionais → Idioma → Configurações avançadas → Aplicar configurações de idioma para bloquear a tela…. Certifique-se de selecionar as duas opções na janela de prompt que segue!
Isso funcionou em todos os meus computadores Windows 10.