What is the proper way to modify a project resource via the SDK?

From the gateway, the only supported way is by pushing ChangeOperations.

See this thread for some inspiration: