How can I electronically sense the state of an LED in another device with an Arduino?
The problem is being addressed with unnecessarily complex solutions. The crux of the issue is an incorrect assertion: "Since the voltage across the LED is only 2V, which is not enough for the Arduino to read, ...".

The Arduino's analog inputs are high impedance, and can happily read a 2 Volt signal. In fact, AnalogRead() would return a value of around 1024 x 2 / 5 =  ~ 400 to 420 for an approximately 2 Volt signal. 

So assuming the two circuits have their grounds interconnected, simply hook up the  anodes of the LEDs to separate ADC pins of the Arduino, and use AnalogRead() on each. The high input impedance ensures that operation of the LEDs is not materially affected - even a voltage follower or a buffer is unnecessary.