Yep. That's the way it works. A custom field is a one-for-all thing. The custom form is a container for a collection of custom fields. If you alter a custom field, you are warned that altering affects other forms. So, for example, LOCATION is LOCATION. Adding a new city or building to the LOCATION options adds it for all forms where it is used. This is generally a good thing for data integrity, unless the wrong people get their hands on it.
We HIGHLY restrict who has access to create / alter custom forms because of this. For groups that have a specific need (non-global) we generally prefix (or suffix) the data element so that we know where it is used.
Changing the data selected on a project or task does not change the custom field. The person has to go into the custom forms area in setup to alter the field.