I'm answering my own question here, because I've taken up jippie's advice. I've built the circuit on a breadboard and performed the measurements.
- Power supply: 5 V (7805)
- Op-Amp: LM324
- Opto-Isolator: SFH610A-3
- R1: 21.7 k
- R2: 9.83 k
- R3: 21.8 k
- Turned on the opto-isolator with a current of 7.7 mA
With these resistor values, the expected amplification is 2.11.
Here are the measurement results:
Vin Vout measured Vout Expected Difference in %
0 0 0
0.077 0.164 0.162 1.2
0.1 0.213 0.211 0.9
0.147 0.314 0.31 1.3
0.154 0.329 0.324 1.5
0.314 0.668 0.661 1.1
0.49 1.04 1.032 0.8
0.669 1.422 1.409 0.9
0.812 1.726 1.71 0.9
1 2.12 2.106 0.7
1.23 2.61 2.591 0.7
1.52 3.24 3.202 1.2
1.84 3.75 3.876 -3.3 |
2.1 3.75 4.423 -15.2 | (reached max output voltage)
2.54 3.75 5.35 -29.9 v

Additionally, I measured the voltage across R3 and the opto-transistor, allowing me to calculate a resistor value for the transistor. This fluctuated from 400 to 800 Ohm, most likely due to my multimeter having trouble measuring the small voltages. Compensating the expected amplification by adding 600 Ohm to R3, brings down the difference to 0.6 % max.
So my answer is: Yes, it'll work the way I expected, probably mostly due to the currents being so low that the transistor is used in a linear area. I wouldn't expect the same results if the resistors used had much less resistance.
Still, I changed my circuit to use the method suggested by markt and johnfound. Seems more correct.