The dns records are saved correctly, the problem is that you enterd the records wrong. All fully qualified domain name in dns for BIND has to end with a dot and @ is no dns record. If a dns record has no dot at the end, then it is a subbrecord of the zone. And what you refer to as @ record is the record for the zone itself, so if you create a zone for domain.tld, then the record that you refer to as @ is "domain.tld.".
Also have a new issue. I can dig locally but if i try to dig on an external server i get servefails. This is a dedicated live front facing ip. There isnt any ports being blocked at all.
Either you block the dns port with a firewall or the dns records in the registry of the domain tld has not been changed yet to point to the new dns server.