I would guess that either you have a defective solenoid with a partially-shorted activation coil, or you've made a major wiring error somewhere, with suspicion pointing toward the latter.
The reason I'd guess you've done something very wrong is that 12 amp current. Assuming your base drive is 5 volts, a 300 ohm resistor will give you a base current in the ballpark of 10 mA. A reasonable (although slightly optimistic) gain for an NPN transistor (unless you're using a Darlington) is about 100, so I'd expect a current of 1 amp. The fact that you're seeing 12 amps indicates that something, somewhere, is very wrong, and on the basis of what you've told us I can't be any more specific.
EDIT - And, we have a winner. Two, actually. Well, three. First, you are completely misusing your Fluke. It is incapable of measuring current directly. This suggests (since your usage makes no sense) that the "12" you are reading is actually the 12 volt supply. And I have no idea what the 4 volts is. Consequently, there is no way to tell what the circuit is actually doing. Certainly if you're trying to measure current by putting your Fluke in series with the solenoid, that will explain why it doesn't work.
Second, as has been pointed out, by Bruce Abbott among others, a 2N5551 is not suited to your needs.
Third, assuming you do get a decent transistor, it can't be a single transistor, or at least not a BJT. Assuming your Arduino can supply 10 mA of current, you need to be aware that for switching purposes (such as your application) you should assume a gain of 10 to ensure good switching. This puts an upper limit of about 100 mA on your solenoid drive. You might conceivably try for 200 mA, but not much more. The solution? Use either a MOSFET (n-type in this case) or a Darlington NPN such as a TIP140 or TIP141.
END EDIT
The problem with this approach is, as with every other "connecting two power supplies", that the voltages are not the same. The nominal voltage is 5V - yes, but the actual voltage is different. One might be 5.05V and the other 4.8V. Both are in the spec for USB 5V.
But if you connect those two together, one will start to drive the other because it has a higher voltage.
Why the normal Y-Cables work? You plug them into the same device which has a single 5V source, so the voltage is really the same. Only each port is current limited.
And I see another possible question coming:
But there are USB hubs which use an external power supply, which is also a different voltage than the original port - how does that work?
Right, but those use either completely the external power supply or have some switching logic inside to switch from bus-powered to self-powered mode. For example the TPS2070 from TI.
So I would not connect two seperate power supplies to a single cable as long as I don't know the exact inner workings and can be sure that nothing will go wrong. It might work (if the things are reverse current protected for example) or it might not.
But I'm not an expert on USB power, so maybe I'm completely wrong.
Best Answer
For current draw, the peltier just looks like a resistor. However, as it heats up that resistance increases. So in order to get maximum current draw you need to keep it as cool as possible.
1.5 Amps still seems a little low, but these things are notorious for being specified poorly. All it really does is move heat, the end result being a temperature difference between the two sides. So the colder you keep the hot side, the colder the cold side will get.
Thermoelectric Cooling
The current is linear with supply voltage. If you supply a higher voltage you will get a proportionally larger current and the temperature difference between the two sides will increase(not proportionally though). If you exceed 80C or so on the hot side, your device will start to degrade. These are just rules of thumb not knowing your exact specifications.