I would say this is expected- state in pulumi is the result of the procedural run of the program from start to finish. If something is added or removed (eg, the line of code creating a resource or output is removed or otherwise never run), the new state would not have that item, and in this case the diff would show the output being removed.