Database Connection vs Raw TCP Connection
Do databases support multiple transactions simultaneously on a single database connection from client? 


For SQL Server, no.


  If not, why not? (as multiplexing would save on resource overhead per connection)


It would seriously complicate the network protocol, which has to be implemented on multiple client platforms, creating a possible source of bugs and performance issues.  

And the resource overhead caused by multiple connections is small, and largely mitigated by connection pooling, where a set of long-lived connections is shared among all the threads in a client program.