"Last night" is more specific but I don't think anyone would object to calling "tonight" part of "today."

> (At night) What did you do today?
>
> (At night) What day is it today?

However, you certainly wouldn't say "today night" instead of "tonight."

I checked my local dictionary for a definition of "yesterday": `the day before today`.

My guess is that "day" here implies a 24 hour period. That period includes a night and saying "yesterday night" provides an unambiguous reference to a specific time.

All of that being said, "last night" sounds better and takes less time to type and write. The only reason I can see for saying it is to bug your friends which, in my opinion, isn't good enough.