cron
Cron runs in an environment that knows nothing
about the display manager ($DISPLAY isn’t set).
Your terminal window that you’ve been testing in
has this set for it.
If you’ve only got one X server running, just
specifying the display might work:
* * * * * DISPLAY=:0 firefox ...
* * * * * WAYLAND_DISPLAY=wayland-0 GNOME_SETUP_DISPLAY=:1 DISPLAY=:0 firefox ...