Matching LED brightness from different supply voltages
It will work, but it is unnecessarily complex.

First, though, you are operating under a misconception: that you have somehow applied too great a voltage to the LED in your original circuit. For a given LED, voltage (at the LED, not at the wires of the unit) and current are not independent, and the panel mount LED you are using contains an internal resistor to limit the current, and is intended to be connected directly to the voltage being monitored. From the data sheet, the normal operating current is 20 mA, plus or minus a bit. Assuming a nominal voltage drop of 3.8 volts, at 12 volts the internal resistor must be $$R = \frac{V}{i} = \frac{12-3.8}{.02}= 410\text{ ohms}$$ By adding a 5k in series with this, your nominal current should be $$i=\frac{V}{R} =\frac{15-3.8}{5410} = 2.07\text{ mA}  $$ which is reasonably close to your 2.38 mA. In other words, your LED has been running at 10% of nominal power and is nowhere near exceeding the nominal voltage. In fact, since the current through the 5k resistor is about 2 mA, the voltage at the LED leads (not the LED itself) will be about 15 - (5k x 2 mA) or about 5 volts, so the LED voltage is not remotely near being too great. 

As a result, you can connect your LED/5k combination directly to 20 volts and you will be golden. LED current will be just about 3 mA. In fact, if you reduce your 5k to 500 ohms you'll get full brightness. Actually, 400 ohms is what's indicated, but there's no use in pushing things since you are apparently happy with the brightness which 5k produces.