To convert certain older (non-synchronous, like the LM2596) buck converters to a buck-boost, there is a little-known hack, that you can find in the datasheet for ST's L5973D (https://www.st.com/resource/en/datasheet/l5973d.pdf), Figure 16 (Positive buck-boost converter). This would explain the extra silicon component which is likely just a mosfet. The second inductor is likely just for post-ripple filtering.
Current limiting is harder to guess, but it must be quite crude - perhaps a sense resistor and an opamp that injects current into the FB node when output current exceeds a set value. Maybe even a sense resistor with a base-emitter junction of a transistor across it, that turns on when sense resistor sees > 0.6V across it, and dumps current into FB node - wasteful, but it can work. Many of these designs sense current in the GND lead to simplify things.
There are other topologies you can use for both stepping up and down if you have a non-synchronous boost converter instead, such as the SEPIC converter (Single ended primary inductance converter), which requires an capacitor and either two inductors or a coupled inductor.
As for improving them, there are better, more efficient chips out now from a variety of manufacturers (Analog devices, Monolithic Power, TI) that switch at higher frequencies (and hence less ripple), have less EMI and ringing, are synchronous (needs no diode, hence more efficient), need much smaller capacitors and inductors, and therefore run cooler and are smaller and quieter.