With gpio-ir-tx it's similar as for gpio-ir, you can use gpio_pin=XX to use a different GPIO.
Actually, it'd be best to connect the IR transmitter to GPIO 18 (and use a different one for receive), then you can use pwm-ir-tx instead of gpio-ir-tx (pwm-ir-tx uses the PWM to generate the carrier frequency and is therefor e more precise and less cpu intensive than the bit-banged gpio-ir-tx).
With these 2 overlays loaded you'll get two /dev/lircX devices and you'll need to add some udev rules to create eg /dev/lirc-transmit and /dev/lirc-receive symlinks - it's not guaranteed that eg /dev/lirc0 will always be receive, this may change.
As you already have a working lircd setup you can use that for receive - just change the device in lirc options to the /dev/lirc-receive one.
To use lircd for transmitting you'd need to setup a second lircd instance (separate lircd.socket and lircd.service systemd units plus separate lirc options and lircd.conf files), which is a bit tricky. Also lircd has some nasty bugs when transmitting (I reported that aeons ago but it hasn't been fixed) - so better avoid lircd.
You can use ir-ctl instead for sending, it doesn't require a background daemon and you can simply specify the lirc device and protocol+scancode (or alternatively a raw file which you can capture with ir-ctl -r, if the protocol isn't natively supported by ir-ctl). To find out the scancode+protocol simply run ir-keytable -p all -t on the receiving device and push buttons on the remote which you want to simulate.
Also search this and the raspberry pi forum, I posted several more infos about IR there (search for my username and/or ir-ctl, gpio-ir, ir-keytable).
so long,
Hias