Conventional homing for machine coordinates will generally be at one of the corners of the travel. A lot will depend on how you prefer to work or possibly other considerations. Yes, Z (again machine coordinates G53) will be 0 at the top of travel with all work done in the -Z realm.
OK, now for some specifics on MY mill, X home is with the spindle all the way to the left end of the table. Thus X = 0 (again, Machine coordinates). I "Home" my Y axis all the way to the front of the machine and as my travel is maxed at 7", I set Y = 7 at this point. This effectively makes my X0Y0 at the lower left of the table. The reason is IF I have the big 6" vice on the table, it overhangs the back of the table and can run into the column if I am not careful and of course cannot home the machine with it on there.
Homing to the center of the travel can be tricky as the machine doesn't really know where it is at the start of the sequence and in all controllers that I am aware of, you have to give it a direction in which to start hunting the home switch. So if your on the wrong side, it will never find the switch!

Also as you have alluded to, the workpiece home can be anywhere and is not related to machine home unless you have predefined fixture(s) setup with offsets to home.