You're correct the hang can't be diagnosed through the log silence as hung threads by nature aren't really producing log messages for any info as well. There is a timeout feature for start/stops and other management tasks that defaults to 300 seconds and should induce an automatic thread dump to server logs for diagnostics, but that wasn't reached. Have you increased the jboss.as.management.blocking.timeout property perchance anywhere? But otherwise, the best diagnostic for such a hang (at any point whether shutdown, start up, or runtime under load) would be thread dumps to see all current thread stacks and where any shutdown operations are currently pending. That can be produced with your JDK's jstack command:
jstack -l JAVA_PID > thread-dump.out
If you run JBoss as a windows service, then that can require elevated privileges so you'd typically then need to run that through psexec:
C:\PSTools>psexec -s c:\Java\jdkX.Y.Z_W\bin\jstack.exe -l 4180 >dump.txt
And if you want to go more verbose, it can sometimes be helpful to have a full heap dump through jmap or jcmd as well. That takes some more effort and knowledge to really dig through beyond just reading a text file like in the thread dump, but a full heap dump can include the thread stacks but then also capture all in heap objects to fully inspect their states that might further answer any questions about why some operations are incomplete:
C:\..\PSTools>psexec -s jmap -dump:format=b,file=%USERPROFILE%\Desktop\jmap_heap.hprof JBOSS_EAP_PID