Observe through reference API?

I know I can use the reference API to synchronously read what type and id a belongsTo relationship is pointing at.

But if I want to use those in a computed property, and I want the property to invalidate correctly, what should I observe?

(And does the answer change if the relationship is sync vs async?)