The ESP32-DevKitC will need to be powered either through USB or the Vcc pins I guess and go through the regulator. The more voltage you send in, the more the voltage regulator will have to drop to provide the 3.3V required by the board. So it's not very energy efficient.
The 3.3V pin gets it's current from that regulator, so powering your GPS if it only draws 28mA should be fine, there should be plenty of mA left to run the board from your 2 x 18650 cells in series if they are delivering more than 600mAh
An ESP32 runs fine between 2,55 to 3,6 volts if you don't want your ESP to die unexpectedly and require a proper shutdown process you'd need extra equipment
I've used two 1.5 V lithium batteries in series or one 3 V CR123 lithium battery (Varta CR123 - 3 V, 1700 mAh) for some projects where the ESP was sleeping most of the time