Trying to figure out why my shader parameter doesn’t interpolate. Apparently, this was because of a bug in Godot:
As noted in #75125 (comment), as long as it is an initial value, the Variant type is not properly assigned, so keying to the initial value seems to insert Nil.
The workaround for this is to ensure that all key frames use a value which is different from the initial value.