The correct Systemd solution would be to create a socket unit but your solutions works without modifying the service code
Not everything that wants to open up a port seems to support socket activation. I tried with 6tunnel and couldn't get it to work.
[1] https://www.freedesktop.org/software/systemd/man/systemd-soc...