I found AppCleaner to still leave traces behind, most of the time under /private/var/
So, what I do is manually do a search for files related to the app, e.g.:
sudo find / -path /System/Volumes -prune -false -o -iname "*docker*" -print 2>/dev/null
and manually remove anything I think it's related to the app. The problem complicates if there are also agents/kernel/system extensions involved.
And then also edit in a text editor /Library/Receipts/InstallHistory.plist and remove the app entry (if present).
I do not have an universal method, I simply got experienced with cleaning apps. I am not using any system modifiers or 3rd party uninstallers anymore.