Eu aconselho vc então a separar um dos HD externo para fazer backup dos seus dados por precaução. Nessas horas um erro pode ocasionar perda de dados, então tenha um backup em mãos.
Feito isso, particione o HD externo onde o Ubuntu será instalado. Já que tem o Ubuntu instalado no HD interno, pode fazer pelo Gparted. Se não tiver ele instalado, instale pela Central de Programas. Esse particionamento vai pelo o quê vc preferir (se terá swap, /home separada, partição para troca de arquivos com o Windows, etc).
Crie a mídia de instalação do Ubuntu, plugue o HD externo onde o Ubuntu será instalado e dê o boot pela mídia de instalação. Durante a instalação, fique atento quando vc chegar em "Tipo de Instalação" e selecione a "Opção avançada". A partir daí muita atenção para apontar as partições corretamente. Se vc criou a partição no HD externo para o Ubuntu antes, vá até ela, selecione "Alterar", e ponto de montagem marque "/", e o mesmo se tiver /home ou outra partição separada (swap não precisa marcar, aliás acho que o Ubuntu 18.04 nem usa mais como partição). Nessa parte você pode também criar partições, mas se tiver deixado como você precisa pelo Gparted antes, não precisa. Depois de ter marcado tudo corretamente, tem embaixo "Dispositivo no qual instalar o carregado de inicialização" e é aqui que você instala o Grub, marcando o HD interno que estará na lista, bem simples mas cuidado para não apontar para uma partição, aponte para o dispositivo, que é o q vc quer. Não se esqueça que toda vez que vc ligar o computador, o HD externo com o Ubuntu precisa estar plugado na USB e a ordem de boot precisa estar apontado para o HD interno na BIOS.
Depois você pode excluir a partição do Ubuntu no HD interno e usar o espaço no Windows. Poderia até fazer isso antes também, mas caso algo dê errado, talvez seja melhor excluir o Ubuntu "interno" só depois de tudo concluído. E após excluir esse Ubuntu "interno", usando o Ubuntu "externo", abra o terminal e rode um "sudo update-grub" para atualizar a lista de inicialização. E talvez seja necessário editar o fstab se o Ubuntu do HD externo pegar alguma swap do HD interno e vc a tivar e excluído.
O incoveniente, na minha opinião, é que instalando o Grub no HD interno, toda vez q vc for iniciar o Windows, o HD externo vai precisar estar plugado também. Talvez haja uma forma simples de contornar, tipo usando uma partição de /boot no HD interno mas não sei se funcionaria. Por outro lado, se vc instalar o grub no HD externo, depois vai ter que recuperar o bootloader do Windows para usá-lo sem depender do Ubuntu.