Sparkfun has the MAX30102 for 3.3V (not for 5V Arduino boards): https://www.sparkfun.com/products/15271.
The schematic shows a good circuit to interface the sensor with a 3.3V board (not for a 5V board).
The MAX30102 sensor runs at 1.8V, maximum 2.0V.
Its led needs 3.3V.
However, the signals pins, such as SDA and SCL can get up to 6V before the sensor gets damaged. That is what the circuits make use of, but it is not nice.
The pullup resistors on most modules can get in the way, as you mentioned.
I encountered a few websites trying very hard to make the modules work.
For a 5V Arduino board, level shifters for SDA and SCL should be used and a voltage regulator for 3.3V for the led and a voltage regulator for 1.8V for the sensor.
The level shifters are made with mosfets. The limit for the lowest voltage is about 1.8V. Perhaps that is why they convert the signals to 3.3V for the 1.8V sensor. Take a little here, and give a little there, and hope that it works.
I didn't expect to enter such weird world when interfacing the MAX30102. I'm returning now to the real world
Module will be paired with ESP8266 (NodeMCU) so will be powered with 3.3V, but I can also power it up with 5V from external source if needed. I see in some photos that one of these 3 pads is "pierced" - the one next to 1.8V inscription and module description says: "this terminal contains 3.3V and above". Do this "puncture" has anything to do with voltage selection?
There should be a connection from the middle pad to the 3.3V pad.
The 4k7 pullup resistors on the sensor module is enough pullup.
I suggest to power the VIN with 5V, because of the voltage drop by the 3.3V voltage regulator on the sensor module.
Run a I2C Scanner sketch to check if the I2C bus is working.
The piercing of the pad is normal. That is a via, a connection between layers.