In reality I had to run go get github.com/hugomods/video-js@latest for Hugo to import a video-js submodule. Is this the correct workflow?
If so, I cannot find a suggestion to do this in the linked documentation. It implies that Hugo knows what to import if I specify the submodule path. I only got a hint to do otherwise so this external site that another confused user linked to in a forum thread. Note I, and the aforementioned confused user, am new to Go and may not have the intuition of other more experienced devs. I will happily make a pull request for more explicit documentation if go get... is required.
In trying to duplicate this error in a minimal case, I think I spotted my mistake. I was prompted to run hugo mod tidy which thus imported the submodule I wanted.
$ hugo mod init hugo-mvp
go: creating new go.mod: module hugo-mvp
hugo: to add module requirements and sums:
hugo mod tidy
$ hugo mod tidy
go: no module dependencies to download
go: added github.com/hugomods/video-js v0.3.0
hugo: collected modules in 539 ms
I recall running this when originally trouble, but not sure why I got errors.
Regardless, to put everything in one place, a reasonable sequence would be:
Run hugo mod init my-project-name
Add external submodule path to config module imports
Starting to think I just misconfigured my original config file as the first two steps are the only required in a fresh repo. Thank you, both for the clarification.