In your example, there would not be any ambiguity -- 'use ./hello' in a
go.work file would refer to whatever module you have located in the 'hello' directory in your local filesystem immediately below the
go.work file.
From the Go workspaces reference (
https://go.dev/ref/mod#workspaces) :
> A 'use' adds a module on disk to the set of main modules in a workspace. Its argument is a relative path to the directory containing the module’s go.mod file. A 'use' directive does not add modules contained in subdirectories of its argument directory. Those modules may be added by the directory containing their go.mod file in separate 'use' directives.
Hope that helps, and sorry if that does not address your question.
Regards,
thepudds