There are several LDOs available with quite low quiescent current (I_Q) in the single digit micro ampere range.
For example, the Microchip MCP1700-3302E LDO just has typical I_Q of 1.6 µF, V_In range of 2.3..6V (which is sufficient for your use case), low dropout voltage (178 mV typ, 350 mV max) and provides output current up to 250 mA.
This is less than the 350 mA peaks you mention during startup, but the datasheets specifies:
For some applications, there are pulsed load current events that may exceed the specified 250 mA maximum specification of the MCP1700. The internal current limit of the MCP1700 will prevent high peak load demands from causing non-recoverable damage. The 250 mA rating is a maximum average continuous rating. As long as the average current does not exceed 250 mA, pulsed higher load currents can be applied to the MCP1700. The typical current limit for the MCP1700 is 550 mA (TA + 25°C).
(Section 6.5 Pulsed Load Applications, emphasis mine)
However, I don't know if the ESP8266 peaks are short enough to qualify as such a permissible pulsed load.
You are on the safe side with the Richtek RT9080 LDO which is rated for I_out=600mA, has typical I_Q=2µA and V_drop=125mV at I_out=250mA.
However, it doesn't really matter that much if your LDO has an I_Q of 2 µA, 1 µA or 0.5 µA since its efficiency is dominated by the V_In/V_Out voltage difference.
So if you use an LDO your efficiency changes from 78 % (at V_In=4.2V) to 89 % (at V_In=3.7V) while you battery discharges.
However, the majority of the battery lifetime V_In equals 3.7V, where the 89 % efficiency value is indeed quite good.
In contrast, a buck converter is more efficient over a greater range. For example, the Texas Instruments LM3671 has efficiency of 90 % or so for your active input/output voltages/currents (with I_Q_typ=16 µA and I_Q_max=35µA):
(LM3671 datasheet, page 9)
So it's more efficient in the beginning when your battery is fully charged, it's perhaps a little bit more efficient during startup of your ESP8266 but it has basically the same efficiency as an LDO most of the time when I_out=70mA and V_In=3.7V. Also, your ESP8266 is sleeping most of the time, where it consume 0.1 mA or so, and there the LM3671 is basically as efficient or even less efficient as an LDO (between 67 and 75 % or so).
So it's really close. You could try to build a very precise model that includes the duty times of your different activity modes and the self-discharge characteristics of your battery to see whether the LDO or buck saves you a few days of runtime - or not. Probably, it isn't worth it.
- the mentioned LDOs are much cheaper than a buck converter
- an LDO is simpler to integrate (i.e. it just requires 2 decoupling capacitors whereas a bucket requires some more extra parts)
- the MCP1700 is widely available also as through-hole part (-> easier to solder/bread-board)
- since a buck converter is switching it's a noise source