First, if you haven’t, I’d check the saddle as it can often be a culprit of preventing a horse from moving over their back efficiently.
The word Forward in dressage is a little deceiving because many take it as meaning more leg and a horse that is, well … “more forward/ more energy” etc. BUT, It is a horse that has both energy and THRUST. The latter being the important part of the equation and meaning you need to harness the energy and recycle it back to the hind end. How do you do that? Through lots of half-halts and/or transitions to re-balance the horse.
First, your horse does need to respond “energetically” off your leg, but on the other end of the spectrum, your horse SHOULD also respond well to coming back from your seat. If you tighten your abs, your horse should be able to come back responsively from that. If your horse is super sensitive off the leg, then they need to be even more sensitive off the seat. You can’t have a consistent forward if your horse is not responsive to both of these. Your forward walk/trot/ canter is a happy medium between the two. You ask for the horse to move off your leg with a nice response, then you bring them back with your seat and close your leg (reminds them to still move at the trot). The result is a horse that moves under with his hind end, while maintaining a energetic trot. The length your horse can hold this will depend on his fitness.
If your also thinking forward = frame though, then I will say that they don’t always go hand in hand. A horse can be forward, but quickly lose the hind end if something else is missing. Your horse must also be supple and not leaning in or pushing out to properly relax over his topline.
I don’t have any particular exercises for getting a horse forward, but there is one I often use that is easy. It is more to get the horse using their outside hind. I start on a long rein (not necessarily with contact) to see if the horse will keep straight or push/ drop shoulders first, then I move to contact. If the horse is unable to go on a long rein in this exercise, then I must go back and fix that first. There are a few different ways you can use it. You can start with a square corner (easiest) then make another square-ish turn onto the diagonal and get the horse to move off the outside hind into a “big walk or trot” and then bring back (with seat) the gait at the end of the diagonal. You could also start this from a shoulder in, then turn onto the diagonal with your outside aids, making sure that the horse half halts from the outside hind. The other way you could start it is by riding a walk pirouette, using the outside aids to turn onto the diagonal and etc.
The best way to get your horse responsive and thinking on their hind end though is to ride unpredictably. By unpredictably I mean riding the opposite of where the horse wants to go - riding many many transitions during the ride, making sure to ‘release’ your aids when the horse responds. So, if your horse is wanting to be slow at the walk, then you ride a energetic trot for a few strides. If your horse is speedy, your bringing him back and making him wait at the halt for 15sec. If your horse wants to turn right, you turn and ride a circle left. Repetition in practice is good, but too much repetition in riding creates a horse that anticipates and ‘drags’ with their shoulders.