Move Orphaned (Face-Based) Air Terminals To Linked Ceilings

I am trying to develop a method to move orphaned face-based air terminals to be aligned with a linked model ceiling heights. I know that with the limitations of the API in Revit, these elements can not be re-hosted, but that isn’t my goal. I have successfully managed to create a graph that will move the face-based families to be aligned with the ceiling heights, but I can only accomplish this workflow by grouping the air terminals and modifying the Origin Level Offset parameter fo the created group and then ungrouping the created groups. This is the only method I found that I can successfully move the air terminals in the Z direction. However, this removes any tags that are associated with the air terminals if I change the Offset value for the created group. Is there any other method that I can use to move the families in the Z direction or a process where I can reapply the deleted tags in the same orientation on views where they were initially?

move orphaned diffusers.dyn (117.0 KB)