--- Quote Start ---
Did you connect everything correctly in the Pin Planner as well?
--- Quote End ---
After changing all my four signals to "inout" at ghrd_top.v, I was able to get everything to build, and the Pin Planner showed these correctly as either input or output, depending on the pin. Those were read-only fields.
When I switch back and declare my signals an "input" or "output", the Pin Planner shows these as "Bidir". In all cases the Pin Planner assign the correct BGA pin.
The other SPI port, ie SPIM1, which I didn't mess with, shows the correct direction in Pin Planner and the top file.