As soon as you do that, you are similarly prone to MITM attacks: on an insecure network, you hit an http site and it replaces the redirect with one to a https site that looks like the same domain but really isn't (with a valid cert for mbsonline.gov.au.foo.io).
For my personal sites, I prefer to go with no redirects and if it really processes data, https-only.
For users, the right solution isfor browsers to always attempt https first even if those could be technically serving entirely different content (that would be one hell of an anti-pattern though, so I wouldn't worry about it).
Yes, the user is using insecure practices, and no, you can't correct it on your server.
A permanent redirect is the second best ;) And yeah, most practical for commercial entities (which is why I highlighted what I do for my personal sites).
For the first time - you're affected either way.
For the second time - if you still have the permanent redirect cached, you avoid the mitm.
Disabling your own http only helps the attacker in specific situations.
But ultimately, browsers have to default to HTTPS for a guaranteed "protection" from the start (whether that's through HSTS preload lists or simply by defaulting to HTTPS, does not matter much).
You not serving http won't prevent a MITM from serving http to the victim.
A tiny bit better is to submit your domain to https://hstspreload.org/ so that (major) browsers force https on the first connection. You should still set the HSTS header of course, it's a requirement for inclusion in the preload list and it should also catch people who have a browser from before your inclusion in the list or browsers that don't support the preload list at all.
Can't they similarly serve HTTP data without any HSTS headers? Or do browsers also check HTTPS for any HSTS headers on the same IP and cross-compare?
1. http://www.example.com/ exists and redirects to http://example.com/
2. http://example.com/ also exists and redirects to https://example.com/
3a https://example.com/ works fine but
3b https://www.example.com/ does not exist
4. External links go to http://www.example.com/stuff/goes/here
You will also see the mirror image mistake (www.example.com is canonical, but the redirects go from example.com only on HTTP) at similar rates.
This is all because Tim chose not to rely on SRV records to make his toy hypermedia system work and decades later we're still paying for this (among others) mistake.