A* and Contraction hierarchies (and other graph pre-processing techniques) make the same assumptions on what data is available at planning time.
The difference is whether you expect to make multiple shortest-path queries on the same graph, or not. If you will make several queries on the same graph (e.g. turn-by-turn navigation), then it makes sense to spend time to process the graph to make queries more efficient.
If you'll make a single query, because your graph is changing dynamically, then pre-processing doesn't help.
But A* still needs to have access to the whole graph at plan time. You might be thinking of D* and algorithms for that class of problems.