In sitecore, all datetime vales are stored in the databases in UTC format, this is the value you are seeing when viewing as raw values.
When these values are shown within a user interface, the values are converted to the server timezone. This is the config value that you have highlighted in your question. If it is empty, then the timezone of the server operating system is used.
The OTB rule which you are using "create the folder structure based on the creation date of the new bucketable item in yyyy/MM format" uses the UTC version of the date time, which is why you are always seeing results for 4 hours earlier in time.
As far as im aware, there is on way to specify that the rule uses the converted server time value, when calculating the bucketed path.
You will need to create a custom rule, using your own code that converts to server time, prior to setting the folder structure.
Have a look at this article, which customizes the depth of folders. I imagine, you could use it as a starting point to create your own custom rule:
https://sitecorejunkie.com/2016/05/25/customize-how-item-bucket-folder-paths-are-created-using-the-sitecore-rules-engine/
See this page for more info regarding UTC vs Servertime:
https://doc.sitecore.com/xp/en/developers/latest/sitecore-experience-manager/date-time-types.html
UPDATE 24/9/24
Further to your comment, there is currently no way to achieve your goal using config/settings alone. The only OTB bucket action uses the created date, which uses the raw UTC value from the database.
The only other thing that you might consider, would be to change the timezone on the VMs that are running sitecore to UTC (Co-ordinated Universal Time). Then set ServerTimeZone config to match. Beware though, as this may have unintended consequences elsewhere, as dates previously set in the system could appear 4 hours out of sync.