Thank you for the input, SeijiSensei.
The server is actually a VPS - in fact hosted by Linode. (I see you have a link to their admin docs in your signature.)
It seems I may have misunderstood the relationship between ufw and iptables. I thought ufw was the easy-to-use front-end to iptables, but it seems I was wrong. I ran some commands to disable my iptables rules, and then I was finally able to connect to webmin again.
I may not know exactly what I'm doing here ... Would someone care to try and explain?
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT