among us is not peer to peer
you can reconnect if the host leaves in the multiplayer plugin, just make sure to store the game state on each peer, when a host disconnects, connect to a room of the same name, everyone else in the game does the same, one of the players will become host, players never lost connection to the signalling server so they preserved their multiplayer ID, assign the objects to the respective players by playerID by having the player ID stored in them. If you keep player inputs the same and keep the game loop running for everyone while this is happening they might not realise it even happened.
bottom line is photon is easier to use but has less features, worse ping, is limited to blocking websockets traffic, 16 players per room limit, and is way more expensive at 0.05$ per both Egress and Ingress GB
for comparaison, "high tier" infrastructure like google cloud or aws go for around 0.12$ to 0.15$ for the first few Egress TB per month (ingress is free), while more budget friendly providers like vultr or digitalocean charge 0.01$ per Egress GB (ingress is free) and keep in mind that you won't be charged for most of the bandwidth since it's peer to peer.
nodejs exports for running multiplayer game instances headless were promised with the release of construct 3 a while ago, but might not come to fruition for a long time since scirra says that there is very low adoption of the multiplayer plugin so uh here'S a project to get you started i guess drive.google.com/file/d/1FmEtzZJt_18EVaAoL5sBFS6h69xCr1OD/view