Mostly except I find the term “consuming” a bit misleading. The thing to keep in mind is that all that is modulated by the build phase, that is compilation and linking.
In your example in the compilation phase, using base64 must not automatically expose result’s API (the library’s cmi and cmx files). But in the linking phase, using base64 must automatically link against result’s library archive (the cmxa file) which I personally would count as “consuming”.