Either I'm confused, or I'm seeing a lot of confused responses.
There is nothing wrong with passing objects by reference to const at almost any time, regardless of the storage duration of that object (static, automatic, or dynamic held by a std::unique_ptr). It's in fact an excellent way to structure your code and I'd recommend it above all others since it's clearer, simpler, and idiomatic.
Second best would be passing a naked pointer to const, but then for the static and automatic cases you'd have to decorate the calls with pointer-of operators and call the .get() member function on smart pointers, and you'd lose all of the advantages introduced to the language by references in the first place. Whether to use naked pointers to const or references to const is a design choice most often based on the use of null pointers for in-band signalling of special cases, something that can often be better handled through superior design that follows the SRP.
So to the original post, yes, that's the right thing to do.