Supercap charging circuit for RTC backup on STM32
I find the circuit proposed in the picture perfectly fine.

Your worry about VBAT being lower than VCC is mostly mitigated by your diode right across those two rails. The power-on delay introduced by this diode would be so minuscule, that it is not worth considering.

Also, frying the supercap mostly depends on a particular type. Some of these have rather low allowed currents. This is mainly due to their high ESR. During current flow, this causes heating and damages the part. Some types don't have their maximum currents explicitly stated. In such case you need to rely on the ESR value and a wattage the package can reasonably deal with (sometimes also given in datasheets).

In the end, you adjust your \$R_1\$ to be a compromise between charging time and charging current. \$22\Omega\$ sounds good for starters. Keep in mind that you will almost never discharge to 0 volts. Also, charging current in this case drops exponentially, so you will only draw \$100\tilde- 200 mA\$ for a few seconds.