The 1N5223 zener is nominally 2.7 volts and can be as low as 2.565 volts or as high as 2.835 volts so if you can live with this variation then that's fine.
The BAT54 being schottky will look like a small volt drop as the capacitor reaches full charge so the only problem here is what the residual current taken by the capacitor is - the higher the residual, the more the BAT54 drops voltage. It could be about 0.1 to 0.2 volts at 100 uA.
Is this good enough? Only the OP can decide.
If you want something more accurate I'd use a linear voltage regulator to produce 2.7 volts and feed that to the supercap. If you had a couple of more volts available at the input there is this Linear technology solution: -
LT describe it as: -
The LT3663 is a 1.2A Step-Down Switching Regulator with Output Current
Limit that is ideal for use as a supercapacitor charger since it
provides adjustable output voltage and adjustable charging current
I'm sure there will be switching or linear solutions out there that will do the job rather than rely on the tolerance of a zener diode (+/- 5%) and the unknown leakage current of the supercap.