From the civilization digital manual:
"Unit Movement
Generally, units move from hex to hex, paying the
“Movement Cost” required to enter that new hex.
Units are subject to “Stacking” limitations – two military
units may not end their turn in the same hex, nor
can two non-military units, but one military and one
non-military unit may end their turn stacked in the
same hex. Most units are limited in where they can
move – land units cannot enter mountain hexes and
naval units cannot enter land hexes (except for port cities). Improvements like roads and
railroads speed a unit’s movement through land hexes."
Also from the manual:
"Like land units, there are military and non-military naval units. Work
Boats and any “Embarked” Land Units are non-military units, and
they are automatically captured and held for ransom when attacked
by barbarians and destroyed when attacked by other
civs or city-states."
So it says a military and non-military unit can stack in the same hex and it also says that embarked units and work boats are non-military units.