Depending on what you need either first or second solution may be better. In my company we use Netbox fork Nautobot along with Ansible.
It’s Ansible that initiates the change and fills all the data properties in Nautobot. This way Ansible can also raise and close relevant change ticket at the right time.
With your second solution it would be more difficult for us to properly work with change tickets in compliant way. If you ever intend to take compliance and ticketing system into account, then I would recommend going with first solution, otherwise both solutions are fine to me.
Depending on what you need either first or second solution may be better. In my company we use Netbox fork Nautobot along with Ansible. It’s Ansible that initiates the change and fills all the data properties in Nautobot. This way Ansible can also raise and close relevant change ticket at the right time. With your second solution it would be more difficult for us to properly work with change tickets in compliant way. If you ever intend to take compliance and ticketing system into account, then I would recommend going with first solution, otherwise both solutions are fine to me.