Dear
tenchu , these are my humble suggestions after reading the many things you wrote.
1] I reccomend you try to find a problem and just solve it. That is be best way to learn everything, just solve a damn problem. Often, the choice of language is a consequence of your problem, not an a priori.
2] I completely understand your desider to understand the "real" things underneath. But consider, some times the real thing is a just a formal set of rules. Take Web programming, it has nothing to do with electronics, flip-flops, assembly and so on. There is Javascript, HTML, CSS. That is your universe, you can't go beyond that. Other stuff is build OVER those 3 building blocks, in some sense these are your electronics, assembly and C.
3] A consequence of point [2] is that i reccomend you start your journey from web-programming (not server side, on browser code execution). What you will need to learn is limited/controllable, what you will learn is usefull and in high demand. Also, it could serve you as a bridge to attack the server side, still, using the same language, Javascript, in its Node incarnation. ... But with time, don't attack the server side now.
3.1] The server side will bring you new problems to solve, the management of an operating system, automation of recurrent tasks, the necessity to learn some networking and the principles of security. It will all come out almost naturally. This will push you to learn a scripting language, most probably: sh, Ruby, Python, Perl, Awk, etc.
4] In case you are not fascinated by web programming at all and you are really intrigued by eletronics. Then i reccomend you start with Arduino and C. But, you will need to start learning basic electronics as well, or what you can achieve is just turn on/off the onboard arduino led. AFAIK There is not much demand for this kind of knowledge on the market. Also, an Elec. Eng. will pretty much burn you on this hand down, always.
5] In case you are fascinated by the assembly ... well, If you buy a BeagleBone Black you can enjoy programming the two PRU units in assembly. It is quite fun. The processors PRU are simple enough to be enjoyable. Book reccomended, if you want to pursue this way, is "Molloy - Exploring Beagle Bone". I warn you, the book is good, you must be highly motivated.
6] I reccomend you do not start your learning with "Structure and Interpretation of computer programs". It is a wonderfull book, but not for beginners. This is just my opinion. A small motivation. The authors push a style of programming called functional, where basically you try to avoid changing the state of variables. Algorithms are written deploying recursion as much as possible. If you like proofs by mathematical induction you may like it. Read it after you already know programming, you may find it a damn fascinating read.
7] Don't you think it could be cool if your phone could do X for you ? .... A good way to enter phone dev. this is more difficult than Web programming, but still, very interesting and with a market. Here Java is dominant. Apple has his own tools.
In conclusion, choose a problem you consider interesting, or an area you find interesting, the programming
language comes after it, as a consequence.
hope it helps, I am also a mathemtician, I learnt alone, but started 20 years after
ralphbsz , in the 90, when computer came already without a manual. Blah.