Pronounced "kalbi", but otherwise yes.
The reason (as detailed above) for this behaviour is that כלב belongs to a family of words called segolates. You can recognize them by the stress that falls on the first syllable somewhat unusually: e.g. דלת and חדר are also segolates, and are pronounced DElet, CHEder.
Also, I believe that if כלב didn't belong here, the declined form would be pronounced "klavi".