Yes - They match after all, dpkg confirms that. I obviously misread the apt-cache show darktable output.
After installing the repo packages, they’re all version 4, so that’s good and the noise tools are there (no need to build):
$ dpkg -l | grep darktable
ii darktable 1:4.0.0-0build1~focal amd64 virtual lighttable and darkroom for photographers
ii darktable-tools-basecurve 1:4.0.0-0build1~focal amd64 The basecurve tool from tools/basecurve/
ii darktable-tools-noise 1:4.0.0-0build1~focal amd64 Noise profiling tools to support new camerasNoise profiling tools to support new cameras
Apparently I need to review apt-cache before further use. 
So I ran /usr/lib/darktable/tools/darktable-gen-noiseprofile -d $(pwd) against my raw images and it apparently did nothing. It appears to possibly be incorrectly calling darktable-cli.
Here’s the full output.
$ /usr/lib/darktable/tools/darktable-gen-noiseprofile -d $(pwd)
===> Check for required tools
--> Check for images handling tools availability
--> Check for images export tools availability
--> Check for profiling tools availability
--> Check for tethering tools availability
--> Check for pdf tools availability
===> Check profiling directory
===> List profiling input RAW images
--> Found ISO 100 image: /home/xxxxx/Pictures/850D_noise_profile/IMG_4490.CR3
(redundant raw file list output clipped for clarity)
--> Found ISO 25600 image: /home/xxxxx/Pictures/850D_noise_profile/IMG_4514.CR3
The script will use existing input RAW images for the profiling. No more
shot will be taken.
===> Checking profiling RAW images correctness + Jpeg export
--> ISO 100:
/home/xxxxx/Pictures/850D_noise_profile/IMG_4490.CR3
usage: darktable-cli [options] [IMG_1234.{RAW,..}|image_folder/]
options:
--cachedir <user cache directory>
--conf <key>=<value>
--configdir <user config directory>
-d {all,cache,camctl,camsupport,control,dev,fswatch,imageio,input,
ioporder,lighttable,lua,masks,memory,nan,opencl,params,perf,demosaic
pwstorage,print,signal,sql,undo,act_on,tiling,verbose}
--d-signal <signal>
--d-signal-act <all,raise,connect,disconnect,print-trace>
--datadir <data directory>
--disable-opencl
-h, --help
--library <library file>
--localedir <locale directory>
--luacmd <lua command>
--moduledir <module directory>
--noiseprofiles <noiseprofiles json file>
-t <num openmp threads>
--tmpdir <tmp directory>
--version
All the executables in /usr/lib/darktools/tools are binaries except subr.sh, but I’ve not found anything in it that correlates with this error (although I’ve not been utterly exhaustive). The tools directory is not in my path, but I invoked darktable-gen-noiseprofile with an absolute path.
Any ideas?
Thanks.