Maybe not a potential fix but you could add a macro to check if the transform has changed since the last update and just skip the update instance transform node if the value remains the same. (yes this would require caching and an extra branch)
For a minute I thought the c++ version would work but it just defaults to the instance parameters
Yup this is the only solution. This or just refresh the SetCustomDataFloat. Both work. Though the one that checks if location is the same will not be enough for situations where rotate and scale only.