Use limit_area="inside" from interpolate
limit_area="inside"
pd.Series([np.nan, 1, 2, 3, np.nan]).interpolate(limit_area="inside")