I had made myself a wrapper for the \lettrine command to override the default values. After reading the lettrine manual again, I found out that it was better to override the length in a local lettrine.cfg file.
Then, to override the settings for each letter, I used \LettrineOptionsFor instead of personal macros. These go in a special file as defined by the \DefaultOptionsFile command in lettrine.cfg (that gets quite complex).
These two steps solved my problem.
For example, my lettrine.cfg contains:
\setcounter{DefaultLines}{3}
%%
%% These are *decimal* numbers:
\renewcommand{\DefaultLoversize}{0.25}
\renewcommand{\DefaultLraise}{0}
\renewcommand{\DefaultLhang}{0.33}
% Define default options per letter
\renewcommand{\DefaultOptionsFile}{optfile.cfl}
and then optfile.cfl contains:
% options per letter
\LettrineOptionsFor{A}{slope=5pt,findent=-0.5em}
\LettrineOptionsFor{J}{lraise=0.20,nindent=0em}
\LettrineOptionsFor{L}{lraise=0,loversize=0.08,findent=-0.9em,nindent=1em}
\LettrineOptionsFor{P}{findent=0.1em,nindent=0.1em}
\LettrineOptionsFor{Q}{lraise=0.30,loversize=0.15}
The result for my example is:
