I personally will freeze a MIDI object when I need to do a volume automation or volume change ONLY on those specific objects. I prefer doing things this way because volume changes on the object level are pre-fader, meaning that the fader will not move with those volume changes. You will hear the volume change, but it will not be seen as fader movement. I will tell you why this is important to me: I can still raise the volume up or down for that entire track with the mixer's fader even after the object's volume has been automated. On the other side of the coin, If you were to bounce the entire track to audio and then do volume automation changes, your mixer fader will be locked to the volume which has been written in the automation line. You cannot continue to "mix" with the fader after automation has been written. There always seems to be a time where I still want to be able to control the track's overall mix volume after I automate certain things, and this is why I try to do my major volume automation at the object level.
And to answer your question about TRACK automation on MIDI objects: Yes, track volume automation on MIDI objects is controlling the audio volume, not the MIDI velocity.
I hope I explained this satisfactorily without making it too confusing.