I don't think Docker limits the number of cores for containers unless you specify it.
I run Emby server on Debian in a docker container and all my 8 cores get used when transcoding.
Your 100% CPU usage might be due to Snap not detecting quicksync or maybe you have to point the snap package to your CPU device driver, I'm not really familiar with Snap.
I tell you this because for Docker, provided you have a recent i3-i5-i7 CPU, you have to provide the path to the driver to get quicksync working.
In my case I gotta use the "--device /dev/dri" to the docker run command. If I don't specify that, transcodes take pretty much all my CPU resources instead of maybe 1/10th of that with quicksync enabled. Native install doesn't have this issue because the installed app has full access to your computer. In Docker, you kinda got to tell it what resource can be used for your container.
Once you get familiar with Docker, you won't go back. It's so much more customizable than a Snap/Flatpak package. You can specify where you want all the config files to be stored at making backups very easy. With native or Snap/Flatpak, you gotta hunt for the location of settings/config files and sometimes they all over the place.
Where Snap/Flatpak is useful is for Apps that don't rely on user configs. If there are user configs to be setup, I'd recommend Docker instead.
As for native installs, I usually would only do it in a VM where there's nothing else on it. You can then back up the whole VM file.
If there's gonna be other stuff installed on that machine, then I go for Docker.
If you don't need/want to backup anything, then just native install everything.