Related Data Not Showing up in Grid

I have two instances now where related data is not showing up in a read only and editable grid.  To solve this problem before, I had to create an Expression Rule to retrieve the data (not the record) for display purposes.  This is the latest example.

I have an editable grid that shows the positions for a specific clergy member. (the grid is not complete, I am just trying to get the data to display properly)  Relationships are built between Clergy Position and Clergy Member, Ref Clergy Position, and Parish.  All relationships are built both ways.  Data shows for the columns Term Start, Term End, Term and Term Complete.  Data does not show for columns Position, Organization and City; these are all related data.

 a!gridLayout(
            totalCount: count(local!clergyPositions),
            headerCells: {
              a!gridLayoutHeaderCell(label: "Position"),
              a!gridLayoutHeaderCell(label: "Organization"),
              a!gridLayoutHeaderCell(label: "City"),
              a!gridLayoutHeaderCell(label: "Term Start"),
              a!gridLayoutHeaderCell(label: "Term End"),
              a!gridLayoutHeaderCell(label: "Term"),
              a!gridLayoutHeaderCell(label: "Term Complete")
            },
            columnConfigs: {
              a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight: 3),
              a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight: 3),
              a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight: 3),
              a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight: 3),
              a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight: 3),
              a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight: 1),
              a!gridLayoutColumnConfig(width: "DISTRIBUTE", weight: 2)
            },
            rows: a!forEach(
              items: local!clergyPositions,
              expression: a!gridRowLayout(
                contents: {
                  a!textField(
                    label: "Position",
                    value: local!clergyPositions['recordType!CPMA Clergy Position.relationships.refPosition.fields.position']
                  ),
                  a!textField(
                    label: "Organization",
                    value: local!clergyPositions['recordType!CPMA Clergy Position.relationships.parish.fields.organizationname']
                  ),
                  a!textField(
                    label: "City",
                    value: local!clergyPositions['recordType!CPMA Clergy Position.relationships.parish.fields.organizationcity']
                  ),
                  a!dateField(
                    label: "Term Start",
                    value: local!clergyPositions['recordType!CPMA Clergy Position.fields.clergypositionstart']
                  ),
                  a!dateField(
                    label: "Term End",
                    value: local!clergyPositions['recordType!CPMA Clergy Position.fields.clergypositiontermend']
                  ),
                  a!floatingPointField(
                    label: "Term",
                    value: local!clergyPositions['recordType!CPMA Clergy Position.fields.assignmentterm']
                  ),
                  a!textField(
                    label: "Term Complete",
                    value: if(
                      local!clergyPositions['recordType!CPMA Clergy Position.fields.clergypositiontermend'] < today(),
                      "Yes",
                      "No"
                    )
                  )
                }
              )
            )
          )

  Discussion posts and replies are publicly visible