That’s pretty much right. If you are not testing packages that depend on the one you are editing, then you don’t need to pin and install. Also, opam pin add package local_clone.
If you need the change for yourself, you often end up with these pins for a while, until the PR is merged, and then the change is later released into OPAM.
You can streamline this a bit more by automating the fetching of the sources:
$ opam source thepkg --dev
# this fetches the development version of the source code
$ opam pin add thepkg thepkg/
# pin and install it
$ cd thepkg && hack-hack-hack
opam source also has a --pin flag, so it can be made even shorter:
$ opam soutce thepkg --dev --pin
This will create a local thepkg directory containing the source, and build the package from there. You can then edit the source and iterate with opam upgrade thepkg (or even opam upgrade . from the source directory, with opam 2.0).