RSAPublicKey é apenas uma SEQUENCE com o módulo e o expoente público. RSAPrivateKey contém version, n, e, d, p, q, dP, dQ, qInv e primos extras opcionais. Nenhuma das duas traz um identificador de algoritmo, e é por isso que o formato só consegue descrever RSA e que o rótulo PEM precisa dizer RSA.
O PKCS #8 envolve os mesmos bytes de RSAPrivateKey em um PrivateKeyInfo com um OID de algoritmo (rsaEncryption, 1.2.840.113549.1.1.1), e o SubjectPublicKeyInfo envolve o RSAPublicKey da mesma forma para chaves públicas. O OpenSSL 3 grava PKCS #8 (BEGIN PRIVATE KEY) por padrão, inclusive a partir de openssl rsa; -traditional gera PKCS #1. O PKCS8EncodedKeySpec do Java e muitas bibliotecas de JWT aceitam apenas PKCS #8 ou SPKI, o que causa o conhecido erro com chaves antigas no estilo id_rsa.
Não confunda o formato de chave com os paddings de assinatura ou de criptografia do PKCS #1: a RFC 8017 define os três, e só o formato de arquivo é o que se quer dizer quando alguém fala em “uma chave PKCS #1”.