I discovered one needs to override the color change within each voice,
rather than in the staff definition. Probably it's somewhere in the
documentation, though I could not find it. Here is the working version:
\version "2.20.0"
upper = \relative c'' {
\override Fingering.color = #red
\clef treble
\key g \major
\time 3/4
a-1 cis' <e, a c e>\tuplet 3/2 {<c c'>8~<c c'> <c c'>}
}
lower = \relative c {
\override Fingering.color = #red
\clef bass
\key g \major
\time 3/4
<< { \override Fingering.color = #red f'1}-2\\{\override Fingering.color =
#red r4. e32-1 cis-2 a-4 f-1 d2-2}>>
}
\score {
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout { }
\midi { }
}