Elm on the frontend and Haskell on the backend is a sensible choice, though at that point you may be better off with PureScript on the frontend.
It has been a very bizarre experience having dynamic typing on the back end and static on the front end, though. Everything feels slightly topsy turvy.