Ah, I didn't think about the output being asynchronous. As you don't have a many logs and very large intervals of no data being published you can try to disable async publishing and enable a connection ttl. With these settings filebeat will close and reconnect every now and then. Maybe this helps:
output.logstash:
pipelining: 0 # disable async output (also improves readability of logs)
ttl: 60s # force a reconnect after 60s (requires "pipelining: 0")