Emptying (Flushing) Serial1 INPUT Buffer

Nope, wrong approach. Too many newbies think interrupts are a get out of jail free card after they've painted themselves into a corner with poorly-structured blocking code. That's the case here. The solution is to keep the loop() function "looping" by breaking things up into small chunks and only doing what needs to be done (and can be done) on each iteration.

For example, if you don't yet have a complete message from the HC-12 and no more characters are yet available() from Serial1, then don't waste your time in that while() loop. Move on and try again the next time the loop() function iterates. Same thing with moving the legs. Don't "waste some time, e.g. moving our Legs". Do it in a non-blocking manner instead.