I did some testing for domain redirects, I think the best way to do a redirect (so you can use https) is using your own server (there might be some places that offer free cloud servers too tho)
first set up a dns record, with a name of @ (the root domain), type of A, and 'data' with the server's public ip address. (there might be an easier way to do this on your domain provider, it just needs to direct the domain to your server with a standard webpage configuration, you might also want to set up www to redirect to the root using a CNAME type record, or for this I guess it would probably be faster just to add another type A record to the same server and put server_name xn-blk.gay, www.xn-blk.gay;
in the config)
then install nginx, put the following in the http section in /etc/nginx.conf:
include /etc/nginx/conf.d/*.conf;
I have the following config for an example redirect server (/etc/nginx/conf.d/test.conf):
server {
listen 80;
server_name test.adrian.place;
# Redirect HTTP to HTTPS
return 301 https://xkcd.com$request_uri;
}
server {
listen 443 ssl;
server_name test.adrian.place;
http2 on;
# Redirect all requests to the target URL
return 301 https://xkcd.com$request_uri;
}
and then enable and start the nginx systemd service, run certbot to set up https, and then reload the service
Edit: If it's a home server you'll need to set up port forwarding for 443 and 80 ofc