You can do it in edit mode,
In the snapping options enable ‘Active’, ‘Increment’ and ‘Absolute Grid’.
Select all vertices with ‘A’ then deselect and reselect the corner vertex you want to snap to the grid so it is the active vertex, hold CTRL while moving the mouse to the grid location you want to snap to.
Still a bit of a shenanigan, but I disagree it being a standard use case. It’s probably very rare to use a basic cube in a scene. Usually the object would be modeled at the world origin then moved (snapping) to the location required in the scene. The origin point would usually be moved to the base of the object.