I think you have stumbles across what looks like a bug, but what is actually correct behavior. The API functions get_field and the_field, will never return the ‘default’ value on the front end, only the value saved to the DB
If the API is returning the default value, then it must be saved in the DB to that post. Perhaps you first saved the post as Category A, then changed it to B and this left the origional value saved int he DB?
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users