The gory details are in https://tickets.puppetlabs.com/browse/PUP-11321, in this ticket we should fix silence_warnings:
We are currently using the "silence_warnings" argument when saving the transaction store, but that doesn't affect the "non-string hash key" warning. It probably should.