How you should look at these tabletop wargames
You need to remove the idea that "what you see is what really is" to do this. Right now, you seem to base your idea on the game that if a unit is in a certain location on your map, that's really where it is, at that moment. Instead, you might want to consider that this is just where your opponent thinks it is.
Remember that your players are the generals in the battle, giving orders to their soldiers. They are relying on the information being passed along by scouts and signals. So basically, your players are each looking at the battle like this:

Of course, in your game they are both looking at the same map because that makes the game far more manageable, but in the real situation your game simulates, your players would each be looking at their own map, based on their own intelligence of what the actual battlefield looks like.
That means that when your opponent looks at the map (the same map you are looking at) and he sees the ravine, and he sees none of your units there, that's because he thinks that's the current situation. When one of your units suddenly "teleports" halfway across the map to the top of the ravine, that isn't because it has some kind of weird technology, it's because you knew those units were there all along, but your opponent didn't, and now he is in a tough spot. The map isn't a perfect representation of reality, it's a representation of what both sides know and what both sides have convinced the other side is true; that might change at any time when it comes to hidden maneauvers.
Some ways to implement this
The hardest part is implementing these rules in a fair way, because obviously you don't have actual soldiers in some far away area fighting and it won't be fun if each player can just claim their guys did something. Here's some mechanical ideas for how you can include ambushes, bluffs and tricks in a tabletop war game in a fair and fun way.
The 'stealthy' property
Some units might have a property or attribute that makes them 'stealthy'. What this means, rule-wise, is that when no enemy unit has line of sight to them, you mark them on the map as 'hidden' with some kind of marker. Every turn, instead of assigning them an order, you just add another 'hidden' marker. This signifies that the enemy player doesn't know where they are, just where they last spotted them.
During your turn, you can decide to reveal where your ambush units are, by immediately moving them to any place they could have reached over the course of the number of turns they've been hidden from sight and removing their 'hidden' markers.
A possible downside is that hidden units are essentialy everywhere within their range; the commanding player doesn't have to pick where they are while they are hidden. This gives them a big advantage. This advantage can be reduced by using markers that have an arrow on the bottom that shows where the unit went, which requires the player to decide each turn, just not show. Downside to this is that it's a bit more finicky to execute.
The hidden reserve
At the start of the game, you might have some units that have the ability to be left outside the battlefield. Essentially, your opponent doesn't yet know they are even involved (or just doesn't know where they are yet, depending on whether you need to reveal your army before the game). During your turn, you can decide to move these units from the edge of your field all the way to any location they could reach given the turn-number, as long as they don't move through any enemy unit's vision.
Like the stealthy property, this gives you the option to suddenly be at the top of a ravine, and it just resembles that the unit has been stealthily making its way there the whole battle. Again, you could mark direction markers on them during the game if you want to force the player to chose early.
bait and switch
You might give units the option to not have their current location be entirely accurate. They are on the map in a certain spot, but have an ability that when the enemy gains line of sight to them, they can immediately move to a different location, or switch places with one another, or take some other order. This will simulate the unit trying to bait the enemy into making a bad move, based on wrong information on their part. They were always in the other spot, but the enemy didn't realize.
(You can also have special counter-units that suppress this ability, so that when they spot a unit that is trying to bait the enemy, it actually gets pinned stuck in its bad positioning. This can signify a unit that's superior at baiting compared to the original unit, and has actually outmaneauvered them.)
decoys
Based on the bait and switch option, decoy units might allow you to deploy things that look and act just like ordinary units until your opponent gains direct line of sight. Then, they might vanish or be replaced with different units. You can mark a decoy on the bottom of the figure, for example, so that your opponent thinks units are attemping a move, only to find out upon acting that it's not a real unit. Or a different one. You might have fielded soldiers wearing different uniforms, or clever use of black smoke and logs might have fooled enemy scouts into thinking you have heavy cannons somewhere.
The arbiter
This last one requires a third player; but if you have a way to communicate moves to an impartial arbiter, you could write down moves in secret that deviate from updates done on the actual map. The arbiter would make sure that the rules keep working while your opponent doesn't know exactly what is going on. Although
how feasible this is, depends on the game you are building, as the arbiter will need to maintain a bunch of hidden state.
TL;DR
Let go of the idea that what you see on the map is reality. Treat it instead like what the commanders think the field is like. Then introduce clever mechanics that let players change the field in unexpected ways.