This looks like a bug - we special case Single on a primary key to do a local lookup but it looks like this code path is not grabbing the metadata properly.
The 1=1 hack will mean it goes via a normal database round-trip but really a bug should be filed...