Para apontar um domínio para um servidor, você usa um registro A, independentemente de onde seu DNS está hospedado.
Os registros NS definem onde você vai procurar aquele registro. É claro que você pode usar qualquer serviço de DNS que desejar - seu registrador, seu host da Web ou até mesmo um terceiro completamente independente. A questão da mudança de IP é irrelevante - não importa onde você hospeda o DNS, você precisa atualizar o registro A para apontar para o novo IP, ponto final. (Dito isso, a menos que você mude de host é muito improvável que você tenha seu IP alterado - nos 15 anos em que venho hospedando sites, as únicas vezes em que meus IPs mudaram foi quando mudei de host ou iniciei a alteração eu (por exemplo, mudar o IP de um VPS).)
Usar um CNAME significa apenas que você está delegando o resultado final a um registro A diferente. Não há necessidade real disso, e na verdade isso diminuirá o acesso ao seu site um pouco, porque cada cliente terá que fazer pelo menos duas pesquisas de DNS (uma para o seu domínio, uma para o destino do seu CNAME); na prática, é provável que ninguém perceba isso, mas também significa que qualquer problema com o DNS de terceiros também afeta você. Observe também que essa abordagem é apenas possível ao hospedar com um serviço que forneça tal CNAME! Os provedores de hospedagem Todos funcionam com registros A em seu DNS, mas poucos funcionarão com um CNAME. (Observação: usar um CNAME para apontar para outro registro em sua própria zona DNS (por exemplo, usando um CNAME www.example.com para fazer referência a um registro example.com A) não sofre nenhum desses problemas e geralmente é o meio preferencial de configurar o DNS aliases.)