What is the correct way to write a find module?

Using OVERRIDE_FIND_PACKAGE is definitely the way to go if you are not bound to lower versions of cmake!

For <3.24 you can make the fmt config available to other deps by adding the fmt_BINARY_DIR to the prefix path and setting FMT_INSTALL=ON before MakeAvailable.