I was driving on the highway today and it's very cold in Maryland (16 degrees). After I exited off the highway, my truck was giving off a lot of steam from the front end and sides. I just knew this had to be someone else's vehicle but it was mine

.
I immediately put the heat on full blast but didn't feel any heat in the cabin. The thermostat was still at the "12 o'clock" position

. I was able to park it in the Midas parking lot but they were closed. Popped the trunk and steam is everywhere. There is no coolant in the expansion tank and the engine area has water everywhere. I can see everything is wet but can't figure out if there is a crack, or a busted hose, a dead water pump, etc. It doesn't help that I can't see everything especially with the underguard on the bottom of the X5.
I have 127,000 miles on this 2001 X5 4.4i. I was able to fill the expansion tank with the full bottle of 50/50 antifreeze and drove the truck 7 miles into my garage (I hope I didn't damage anything any further). The cabin would still not heat on that 7 mile ride but the thermostat remained at 12 o'clock until I turned it back off when I got home.
Does anyone have suggestions while I warm up the garage to investigate? I'll try to look from the bottom but that underplate is definitely in the way.