Prod environment uses a different SSIS version to Dev when running a legacy SSIS package
The solution ended up being nothing to do with running different versions of the SSIS Windows service, but how SSIS 14.0 in SQL Server 2017 handles legacy SSIS packages which use configuration files. I use configuration files to store database credentials.

In SQL Server 2008 R2 when you deploy a SSIS package, it also asks you where you want to store the configuration file and the deployed package references that configuration file in the file location you specify.

In SQL Server 2017 when you deploy a legacy SSIS package, it grabs the contents of the configuration file and stores it within the deployed project. The configuration parameters are then configurable via the SSMS SSIS GUI.

Here's the gotcha, in SQL Server 2017, if the configuration file exists in the original file location when the SSIS deployment package was built, it uses the contents of that configuration file in preference over any configuration defined in the SSIS package node of SQL Server 2017. If the configuration file is removed/renamed from the original file location (when the SSIS deployment package was built), it then falls back to using the configuration defined via the GUI in the SSIS package node of SQL Server 2017.

This doesn't make a whole heap of sense, but this is definitely what is happening.

Hopefully this solution might help someone somewhere!