First why ppa-purge did not work. ppa-purge is not a general Debian archive source management tool - as its name suggests it is a hack to work with PPAs (Personal Package Archives). PPA URL has a well defined structure - for a ppa:user/project it is https://ppa.launchpadcontent.net/user/project/ubuntu and in your case ppa-purge looked for apt/dists string. But your source is not a PPA and this search failed. It means, ppa-purge did not disable this source and attempt to reinstall the package just found the same version as was already installed.
It still found the only package installed from this repository, so you can simply reinstall Ubuntu version of it and disable this source.
As for your general question - I am not aware of such a tool. The closest to listing non-Ubuntu packages I can think of is
apt list '?narrow(!(~OUbuntu|~OUbuntuESM|~OUbuntuESMApps|~OCanonical)~i)'
It is possible that there are more Origins belonging to Canonical, but it should give pretty good start. You can examine the list and decide what to do further.
This command can result in false positives because there is no information about package Origin in the package itself. If the repository (source) from which this package had been installed is no more defined, such package will not have any Origin at all. Consider the list from my system:
anydesk/all,now 8.0.2 amd64 [installed]
avinfo/now 1.0.a15+20090102-1 amd64 [installed,local]
canonical-oem-keyring/now 2009.07.23+build3 all [installed,local]
canonical-poke/now 999 all [installed,local]
chromium-common/noble,now 147.0.7727.116-1xtradeb1.2404.1 amd64 [installed,automatic]
chromium-l10n/noble,noble,now 147.0.7727.116-1xtradeb1.2404.1 all [installed]
chromium-sandbox/noble,now 147.0.7727.116-1xtradeb1.2404.1 amd64 [installed,automatic]
chromium/noble,now 147.0.7727.116-1xtradeb1.2404.1 amd64 [installed]
deb-multimedia-keyring/now 2016.8.1 all [installed,local]
firefox-locale-ru/noble,now 150.0+build1-0ubuntu0.24.04.1~mt1 amd64 [installed]
firefox/noble,now 150.0+build1-0ubuntu0.24.04.1~mt1 amd64 [installed]
gh/unknown,now 2.92.0 amd64 [installed]
oem-browser-defaults/now 20kittyhawk3 all [installed,local]
remmina-common/noble-updates,noble-updates 1.4.35+dfsg-0ubuntu5.2 all [upgradable from: 1.4.35+dfsg-0ubuntu5.1]
remmina-plugin-rdp/noble-updates 1.4.35+dfsg-0ubuntu5.2 amd64 [upgradable from: 1.4.35+dfsg-0ubuntu5.1]
remmina-plugin-secret/noble-updates 1.4.35+dfsg-0ubuntu5.2 amd64 [upgradable from: 1.4.35+dfsg-0ubuntu5.1]
remmina-plugin-vnc/noble-updates 1.4.35+dfsg-0ubuntu5.2 amd64 [upgradable from: 1.4.35+dfsg-0ubuntu5.1]
remmina/noble-updates 1.4.35+dfsg-0ubuntu5.2 amd64 [upgradable from: 1.4.35+dfsg-0ubuntu5.1]
thunderbird-gnome-support/noble,now 1:140.10.0+build1-0ubuntu0.24.04.1~mt2 amd64 [installed]
thunderbird-locale-en-gb/noble,noble,now 1:140.10.0+build1-0ubuntu0.24.04.1~mt2 all [installed]
thunderbird-locale-en-us/noble,noble,now 1:140.10.0+build1-0ubuntu0.24.04.1~mt2 all [installed]
thunderbird-locale-en/noble,now 1:140.10.0+build1-0ubuntu0.24.04.1~mt2 amd64 [installed]
thunderbird-locale-ru/noble,now 1:140.10.0+build1-0ubuntu0.24.04.1~mt2 amd64 [installed]
thunderbird/noble,now 1:140.10.0+build1-0ubuntu0.24.04.1~mt2 amd64 [installed]
ubuntu-extras-keyring/now 2010.09.27 all [installed,local]
zoom/now 6.7.2.6498 amd64 [installed,local]
Packages marked local are those for which no source is found. But some packages did belong to the Ubuntu version that was preinstalled on the notebook initially, like oem-browser-defaults or canonical-oem-keyring. I believe it was Ubuntu 14.04.
For the same reason it shows upgradeable packages from update repositories. Because currently installed version is no more present in packages list, there is no way to determine its Origin.
BTW I never noticed canonical-poke which
Description: send "I am alive" ping to Canonical
grep -r apt/dists /etc/apt/?grep -Fr josm.openstreetmap.de /etc/apt?