Disclaimer: not an expert. What follows is just an idea.
To forbid putting a date in the future for the file upload, maybe what yo can do is also include an external and public information in this “name” field, (in addition to the timestamp and the hash of the file). For example you can include the hash of the last Tweets of the 100 most popular and active accounts (and links to these accounts), or the hash of the last episode of the 100 most popular podcast on Itunes, or the hash of the latest Ethereum block (careful with orphan blocks), etc.
There is no way anyone can forge that by having control over all these sources, you can easily check the hash and know that it cannot have been generated before these tweets/podcasts/crypto blocks appeared, especially if you combine sources.
A drawback is that your time-stamping mechanism is broken if Twitter goes offline, or the chosen crypto is 51% attacked or the chosen block is orphaned, so be sure to have several acceptable sources for the hash (7 out of 10 sources, for example).
On the other hand, I don’t know how to be sure that the file was published BEFORE a given date. Maybe publish the metadata elsewhere with a timestamping data? (Twitter, blockchain, reddit, …)
If you have a server and use IPFS only for storage, maybe signing these hashes with the server keypair and publish that to IPFS? The thing is that your server would need to check the validity of the hashes, which will not scale, and you can be flooded by a Sybil attack easily…