I love that all Custom Fields are shown on tasks when the tasks are multi-homed. However, the more you multi-home tasks the longer the list of Custom Fields becomes. This can create some confusion and introduce a barrier to clarity.
In some cases, these fields are associated or useful for the purpose in which the task belongs to the Project in view. Much like how a limited number of subtasks are shown on a task (by default), I think it would be super useful to only show the Custom Fields for the Project in which the task is being viewed within. The user could still expand to see all fields. This initial limited view would also prevent a lot of scrolling when users needs to view description or comments on a task.
The only hiccup I can think of would be when a task is being viewed from an Advanced Search (rather than from within a project view). In this case, I would suggest showing all the fields for only the project in which the task originated from. I also wouldn’t be opposed to not collapsing the fields at all in this case. My recommendation to collapse fields is very specific to when a task is viewed from within a project.