Inicialmente, eu iria usar o modelo simples do foreach. Todavia, para diferenciar, decidi utilizar sua versão baseada no método ForEach, com expressão lambda:
List<string> produtosPrincipal = new() {
"Monitor",
"Mouse",
"Iphone",
};
List<string> produtosSecundarios = new() {
"Fone de ouvido",
"Webcam",
"Memória ram"
};
produtosSecundarios.ForEach(p => produtosPrincipal.Add(p));
Console.WriteLine("Lista Final:");
produtosPrincipal.ForEach(p => Console.WriteLine(p));