To use asynchronous spellchecking, WK2-Mac port needs to enable it by WKPreferencesSetAsynchronousSpellCheckngEnabled(true) and implement missing TextChecker::requestCheckingOfString in Source/WebKit2/UIProcess/mac/TextCheckerMac.mm
Due to Mac-WK2 implements UNIFIED_TEXT_CHECKING (TextChecker::checkTextOfParagraph) it might be easy to deliver TextChecker::requestCheckingOfString. After that we could gradually start deprecating/removing synchronous spellchecking in WebCore.