High Resolution music dowsampling sort of?

You can also run @adamcik’s command with the very verbose option (-vvvvv). On my system, for a 88.2KHz ALAC it shows:
caps = audio/x-alac, codec_data=(buffer)00000024616c616300000000000010000018280a0e0200ff00002e6b001eebe100015888, samplesize=(int)24, rate=(int)22664, channels=(int)2
I don’t pretend to know anything about these files but you can see the correct rate as 0x15888 in the codec_data field. Shame that it’s not using it.

Compared to an 88.2KHz FLAC:
caps = audio/x-flac, channels=(int)2, framed=(boolean)true, rate=(int)88200, streamheader=(buffer)< 7f464c414301000004664c61430000002210001000000acb00105d158883700006baa87bd26be099c8afd61a59c0a34e908388, 04000028200000007265666572656e6365206c6962464c414320312e312e3420323030373032313300000000, 03000012000000000000000000000000000000001000, 8100200000 .... >

So, as @adamcik says it sure looks like a gstreamer 0.10 ALAC bug. Running a similar command (using playbin instead of playbin2) with gstreamer 1.0 shows they are doing things a bit differently (libav vs ffmpeg??) and the correct rate for the ALAC file is shown:
caps = audio/x-alac, codec_data=(buffer)00000024616c616300000000000010000018280a0e0200ff00002e6b001eebe100015888, samplesize=(int)24, rate=(int)88200, channels=(int)2

The fact that 1.0 gets it right doesn’t help you at all, it’s just kind of interesting.