OT Cassette-player brushed DC motors use either internal centrifugal switches, voltage regulator, or a tachogenerator+transistor/IC for speed control. I worked in a repair shop and have seen 100's of them. The capstan flywheel deal's with flutter. The point is constant current control is not used in them.
I appreciate your experience and knowledge but don't say something was never done just because you haven't seen it done. It may be that American/Japanese industry favored different solutions than European industry. I have no doubt that as time advanced better solutions were developed with ICs, tachos, etc. but I was thinking of units I repaired which dated to the late 1960's and probably did not have even silicon transistors, let alone ICs. Everything was as basic as you could get. They were Spanish made but might have been knock offs of better brands like Philips. I distinctly remember encountering that circuit and thinking it was ingenious. I can't see why it would not work. Varying only the input voltage and maintaining the load constant the current and voltage should remain constant.
At any rate, I do not want to hijack this thread any further with this topic so that's my last word on this topic.
6W is an awful lot of heat, just pick out a heatsink and you will see it needs to be huge. I haven't seen a relay with 24R coil and 0.5A coil current- for another 6W, it's pretty big too. So I thought it's a circuit that could work but the example's details are coffee warmer kind of hot and made me cringe. You could do it with one transistor as the MCU's output voltage is stable at 3.3V for CC control.
It seems to me you are looking to argue for the sake of arguing. The circuit I showed will allow a 12 V relay to work at 12 and at 24 V and when working at 24 V will dissipate the same heat as the relay, whatever that is. If you want to argue a vehicle can only activate one relay at a time because the heat of two relays would overheat the vehicle ... well, that's just silly.
Again, as I said when I showed it, it is a simple circuit, quick and dirty, and it works. Criticizing it for being simple, quick and dirty is silly and criticizing it for dissipating as much as the relay it is controlling is double silly. A vehicle has many relays and the heat they produce is insignificant compared to other sources of heat in the vehicle. Any vehicle, at any one time, is dissipating in heat produced by electrical items hundreds of watts and the heat produced by a relay or two is just insignificant. Even more so if the relay is activated for a very short time.
And that's my last word on this issue.