Você pode fazer isso em ambos.
A arquitetura da CPU amd64 / x64 pode executar instruções de 32 bits, portanto, isso não é um problema. E os kernels do Windows e Linux podem lidar com um processo de 32 bits. O que geralmente se resume a bibliotecas compartilhadas. Um programa de 32 bits precisa usar bibliotecas compartilhadas de 32 bits. Se a versão de 32 bits das bibliotecas necessárias não estiver instalada, o link dinâmico do tempo de execução falhará e o programa não será executado por falta da biblioteca.
A Microsoft vem com versões de 32 bits de praticamente todas as bibliotecas necessárias, uma vez que elas realmente querem que coisas de 32 bits sejam executadas (diabo - alguns de seus próprios programas ainda são fornecidos como binários de 32 bits!). No Linux, você precisa ter certeza de que instalou pacotes como o ia32-libs para ter versões de 32 bits de bibliotecas compartilhadas comuns.
Dito isto, em ambos os sistemas de 64 bits certamente pode haver programas individuais de 32 bits que não são executados porque dependem de alguma biblioteca compartilhada mais obscura que não é fornecida com o sistema operacional.