This is something somewhere in the middle between an abstract and a component computation, and I haven't yet settled completely on what is the best way to handle this. For the time being I would suggest you use a simple substitution rule, e.g.
\partial{#}::PartialDerivative;
test:=\partial_{\mu}{\exp(i*x^{\lambda}*k_{\lambda})};
rl:= \partial_{\mu}{ \exp( A?? ) } -> \exp( A?? ) \partial_{\mu}{ A?? };
substitute(test, rl);
product_rule(test);
substitute(test, $\partial_{\mu}{x^{\lambda}} -> \delta_{\mu}^{\lambda}$ );
unwrap(test);
That gets you almost there, but eliminate_kronecker
which you would now want to use cannot handle the duplicate dummy index pair. So you'll need another substitution to get rid of the Kronecker delta.
Good example though, will see if we can make this work more easily.