Looks like I was setting up the systemd unit file in a way that was causing it to be in an “Activating” state forever.
Though, the command “consul members” displayed that the node was part of the datacenter. Thus it seems that consul had started properly. The following was causing “systemd start consul.service” to block indefinitely.
When type=notify is used, Consul will wait until it has properly joined one of the agents specified in either join or retry_join before signaling to systemd that the process has successfully started (this is mentioned in Consul Deployment Guide: Configure systemd).
I’m not sure why the signal was sent in your environment. Changing the ExecStart type to simple or exec as you have done is a viable workaround. However, it is probably still worth investigating why the notify did not properly reach systemd.