In case it's useful for anyone else, I went with a variant of Steve Piercy's very helpful answer that attempts to future-proof the code and prevent mystery missing images. It uses the same structure, but appends any items that are in StandaloneHTMLBuilder.supported_image_types by default that aren't in the new set we're providing. I was considering if Sphinx started supporting something like HEIC images, or other new standards come out, this would allow them to be seamlessly integrated.
new_supported_image_types = [
'image/svg+xml',
'image/gif',
'image/png',
'image/jpeg'
]
# construct it this way so that if Sphinx adds default support for additional images, such
# as HEIC, then what we do is add any of those to the end. We start with the ones
# we want to support in this order, then subtract them from the defaults to identify
# any remaining items that we append to the end of the list
additional_default_supported_images = list(set(StandaloneHTMLBuilder.supported_image_types) - set(new_supported_image_types))
StandaloneHTMLBuilder.supported_image_types = new_supported_image_types + additional_default_supported_images