If you made them in ribbing they would be more stretch and stay up. Try k2p2 rib. You could knit them in the round but making a square as you have will work too.
You could also run some elastic thread around the top and bottom. I use the kind for beading and just make a running stitch on the wrong side.
Works like a charm! I use this trick a lot for loose necklines.
I was going to make my dog leg warmers with a rib, and elastic at the ends, but I have a big dog and would use something thicker than beading elastic.
I’d imagine you’d also need to CO and BO pretty loosely and let the elastic do it’s job.
If that doesn’t work to hold 'em up, I’m going to just have to attach suspenders over his shoulders and hips to clip them in place!
I love the sweater your dog is wearing in your pic btw, do you have the pattern for that somewhere?
I have heard that the cable cast on is very stretchy. I have used Russian bind off on a turtleneck and it is very stretcy and easy to do.
The twisted german cast on is nice and stretchy too.