The altitude referenced by the solo is always the altitude above (or below) the point you armed for takeoff. It doesn't matter what app you use, or if you use no app at all.
If you create an auto mission using the Tower application, that altitude will be as described above, in reference to the takeoff point altitude. In other words, if you take off, climb to 50ft, then try to fly over a 150ft hill, it will smash into the terrain. You would need to adjust the altitude as part of the mission plan's waypoints when you are building the mission. That means you need to be familiar with the terrain. There are no topo maps in Tower you can use to plan this out.
If you create an auto mission using Mission Planner on a windows PC, you can do a few things to help with this situation. First, Mission Planner has topo maps, which are very handy. Mission Planner also has terrain elevation awareness. So you can check the little box, and as you add waypoints, it will automatically adjust the new waypoint altitude to be the prior waypoint altitude +/- the difference in terrain elevation. If you first waypoint was 50ft, and your next waypoint is on a hill top that is 100ft higher in elevation, the new waypoint will automatically be 150 ft. This is all in the mission planning and waypoint altitudes. None of this is the Pixhawk or companion computer on the solo being aware of the terrain and automatically following it. The solo will go to whatever altitude the waypoint says to go to.
On board terrain awareness and terrain following is new feature of Arducopter in version 3.4, which does not work on the solo yet. So us DIY folks with Pixhawks on custom built multiroters can do it. Arduplane also has it for fixed wing drones. With terrain following on, it will maintain altitude above ground as the terrain changes. It is available in auto mode, guided mode (what solo uses for smart shots), RTL, and Land modes. It's very cool.