Simply put the existing Amiga OS design is incompatible with the whole idea of SMP.
The Amiga uses a single address space for everything including the OS. There is also no real memory protection for apps or the OS. Apps have direct access to the OS internals.
If you have more than one app running simultaneously on different processors both can write to the internals of the OS at the same time. When this happens the OS will very rapidly crash due to data corruption.
This is exaggerating the problem. AmigaOS is a preemptive multitasking OS. This means that writing to shared (OS) data already has to be protected with Forbid()/Permit() or another locking mechanism or otherwise you would get data corruption also on a single CPU.
Problem is that on a multi-core system you have to stop all CPUs when Forbid() is called on one of them. As Forbid() is heavily used in AmigaOS likely SMP enabled OS will not see any speed improvement or may even run slower. So, biggest task of getting a performant SMP AmigaOS is replacing most of Forbid() calls in OS with other locking mechanisms. Likely a big task but not undoable.
Another problem is things like SysBase->ThisTask that have to give different values on the different cores but SysBase has to have the same pointer value. Also something I don't see as unsolvable by some clever MMU programming.