Ok, consegui ter minha interface pública como padrão. Eu fiz isso adicionando um gateway para essa interface e removendo o da interface privada. Eu não estava recebendo nenhum gateway antes na interface pública (pelo menos, isso é o que eu pensava), mas isso foi corrigido removendo o gateway do privado e, em seguida, definindo public para dhcp.
Agora também posso acessar meu servidor com seu endereço IP público! No entanto, eu me pergunto se isso é seguro e se ainda é possível acessar a rede privada através do público e vice-versa. Não deve ser capaz de fazer isso. Se um aplicativo quiser usar a rede privada, ele deve definir isso, e não usar o público para acessar o privado (não tenho certeza se isso é possível, mas quero ter certeza de que minha configuração está segura).