I would suggest using MQTT, since there is official support as well as an official add-on for running a MQTT broker, so the prerequisite set-up is easy for that part
When using MQTT, the gateway IP doesn’t need to be static (or even known), which would be a requirement for polling (mDNS and other local discovery solutions can “work around” this issue, but it’s not really reliable, some wifi routers block this as a privacy feature for example so it’d be a hassle)
Having the gateway doing http posts to HA would resolve this “issue” as well, but then again that would require “exclusive” use of the “http pushing” while a MQTT solutions is not exclusive in the sense that you can have practically any number of subscribers, so MQTT is a win there as well, making it much easier to use other integrations/services/tools in parallel
With MQTT, creating the device entities for the tags is trivial through MQTT Discovery, basically the integration would just need to publish appropriate messages to specific topics under the discovery prefix, which is how RuuviBridge for example does it