Are scheme implementations compatible with each other?
Most Scheme implementations conform to a rNrs ((revised)^n scheme report) (https://schemers.org/Documents/Standards/), but many implementation also offer "SRFIs" (Scheme Requests for Implementation) https://srfi.schemers.org/ that extend the rather meagre rNrs.
Is migration from one to another straightforward in the case of say lack of implementation of X and so on?
AFAIK mostly it's possible, but you would have to manually fix a few things.
I personally found https://wingolog.org/archives/2013/01/07/an-opinionated-guide-to-scheme-implementations to be helpful for getting an overview, but of course there are many more implementations.
I've noticed that many lisp hackers use emacs which uses its own implementation called ELisp meaning they master 2 languages for different purposes.
You don't have to "master" Elisp by any means to use Emacs. You need to be familiar with a few functions to customize your setup (add-hook, add-to-list, setq, ...) and if you decided to learn Common Lisp first, using Elisp is basically just knowing what Elisp doesn't have by default and knowing a few of text editing functions.