2 Diodes, 3 resistors and a transistor here’s Silicon Labs’ low cost solution on voltage level translation. Link here
This applications note discusses a low-cost circuit for I2C level translation. This circuit was developed for the Si701x, Si702x, and Si703x humidity sensors but will work in many applications. This circuit provides I2C level translation from a higher voltage supply, such as 5 V, to a lower voltage, supply such as 1.8 or 3.3 V. In addition, the optional emitter follower circuit provides a low-voltage power supply rail from the higher 5 V supply. Note that some devices allow for higher voltage tolerance on I2C inputs. For example, the Si7034 has a 3.3 V tolerant I2C interface, so the level translation is only required for 5 V I2C designs.
I think this is worse than a couple 2n7002’s, and maybe even more expensive considering the cost of schottky diodes.