Best method to migrate existing Octopi microSD card to a new bigger or smaller microSD card

What is the best method if I want to migrate my existing Octopi microSD card
to a new bigger or smaller size microSD card?

I would like to keep everything intact to how it was setup.

IMO, the simplest method is https://pishop.co.za/blog/my-tutorial-post/clone-your-micro-sd-directly-on-rpi/. You need a USB SD card writer for this to work.

It also requires that you install the desktop on OctoPi. There's a script to do that in /home/pi/scripts.

I don't have a monitor, keyboard, or mouse on my RPi so I use Windows Remote Desktop to connect. You can also use VNC. Installing the server(s) for those two applications escapes my memory at the moment, but Google is your friend. The desktop has very little overhead when it isn't being used.

If you don't have or don't want to buy a USB SD writer, then try https://beebom.com/how-clone-raspberry-pi-sd-card-windows-linux-macos/.

Lastly, Try googling "clone raspbian sd card" and pick your favorite.

I use ApplePi-Baker (macOS) to clone/backup/restore microSD images. Once you've cloned it to a bigger microSD, boot that up and run sudo raspi-config to expand the file system... noting that if you imaged from the OctoPi image it will do this automatically for you.