You can't, that's true, and in particular you can't get over 184 bits out of it. But that's also true of, for example, PBKDF1, which I think is the algorithm the term "KDF" was invented to describe. And bcrypt is often included in lists of KDFs, for example by OWASP and Wikipedia. Arbitrary-length digests are certainly highly desirable for a KDF, but I don't think they are uncontroversially part of the definition of the term.
A key (hah!) property of key derivation functions is that they allow you to customize the key that you get out, mainly because you may need a specific length (e.g. 512 bits) for whatever encryption algorithm you're using. bcrypt lacks this functionality: you only ever get 192 bits of hash.