Video autoplay not working with muted inline.

I am trying to replace gifs with mp4s on my website. Currently its working great in Chrome and Firefox, but the behavior is odd in Safari.

<video autoplay loop muted playsinline defaultmuted preload="auto">
    <source src="/path/to/video.mp4" type="video/mp4">
</video>

This video is an h264 mp4 video with no audio track.

  • Firefox, Chrome on my Macbook: Works as expected (autoplay's like it were a gif)
  • iOS Safari without Low Power Mode: Works as expected
  • iOS Safari with Low Power Mode: Autoplays but there is a play button on top that disappears when tapped.
  • macOS Safari: Does not autoplay. A play button appears and it plays if clicked.

I have been following https://developer.apple.com/documentation/webkit/delivering_video_content_for_safari as well as other guides on the internet and it still isn't working. I'm pretty sure there is a recent change responsible for this because it used to work in an older version of desktop safari.