A bit of an update: We have been working on our walk and it's coming along nicely. I am not too sure what it is that I am doing but she is much better.
One thing I did change is to work on the rail to start off with (she walks fine on the rail, nice and forward) and only tackle the middle of the arena after going around the rail once or twice. It seems to put her in work mode.
Another thing I am doing is to walk on a completely loose rein in the begging. I only steer using my seat for the first ten minutes. She is actually amazing at it - I can do all sorts of things just with my seat. She is particularly good at turns of forehand and haunches, and leg yield (I didn't even know you could do leg yield without contact).
I am also starting off with a plan rather than just walking aimlessly. So, I will do a turn on haunches at C and leg yield at quarter line...that sort of thing.
Basically, once I focus her on work, she works but starting off at a walk in the middle of the arena wasn't convincing her that we are working. And she doesn't like contact right at the beginning. Works fine if I start trotting straight away but I will work on her accepting contact immediately as soon as I get a solid forward walk from the get go.
Thank you everyone.