Is there an out of the box feature to automatically close issues that have not had any activity for a specific period of time e.g. 4 weeks?
If not, what would be the best way to go about implementing this for my Group's issues?
It does not exist per se but you can prepare a script to run into a cronjob or similar tool, so you regularly clean these issues. The script could use the GitLab Issue API, and check issue dates to determine whether to close a specific issue or not. The API has all the required tools for you to make this script with the described logic.