Can someone explain how this bias circuit works to output only positive voltages?
I don't see why you should be confused - plenty of circuits use multiple power sources. The two 100 ohm resistors split the arduino 5 volts to 2.5 volts. This should be hopefully simple enough. This 2.5 volts raises the secondary winding to an average level of 2.5 volts and the AC voltage from the secondary adds to that 2.5 volt bias.

Further attenuation of (only) the AC part of the signal comes from R1 and R2 and you are left with a DC voltage of 2.5 volts with an AC signal of 3.88 volts superimposed. In other words the voltage feeding the ADC of the Arduino can be as high as (2.5 + 3.88/2) volts or as low as (2.5 - 3.88/2) volts.

I calculate this as 0.56 volts to 4.44 volts and pretty normal for an ADC input of the type used in an Arduino.