Yup, MoodleBot-Link-Checker user agent string is allowed to access it. But the semrush doesn't so there definitely is some kind of protection.
I do have access to the server error logs. They're quite useless.
2020/12/09 13:04:13 [error] 4575#0: *4724 peer closed connection in SSL handshake (104: Connection reset by peer) while SSL handshaking to upstream, client: 173.245.54.83, server: usacotutor.com, request: "HEAD /wordpress HTTP/1.1", upstream: "https://74.208.250.32:7081/wordpress", host: "usacotutor.com"
That is one I found yesterday. They aren't really special, or maybe I can't understand anything.
My hosting provider is my friend. He owns the server that my site runs on, so I asked him. He doesn't know how to whitelist specific user agents on Plesk, probably because it doesn't exist. IP whitelisting also, he didn't know.
I have given up on how to make my site moodle-scrapeable.