piCorePlayer doesn't seem to upsample by default but there are an array of settings for squeelite to set it up. However, for some reason, its quirky and the settings don't always 'stick'. With a lot of mucking about I've managed to force it into submission.
Here's what I did:
In Upsample Settings I put in mI then saved it.
Reload the page and add X to the Upsample Settings so: mIX
Save it then reboot.
With the IQAudio DAC+ this forces it to upsample to 192KHz
If you want to keep up sampling to an Integer value for 44.1 material go back to the settings page for squeezelite and type -u (minus u) in the various input box
Save it, then in the max sample rate box type 176400 Save it and reboot.
To check what is actually being o/p ssh into the RPi (user: tc password: nosoup4u) and cut n paste this into the command line:
sudo cat /proc/asound/card1/pcm0p/sub0/hw_params
What ever you do do not be tempted to use 352800 in the max sample rate box, you'll need to re image your SD card

The mIX setting is interesting, the first letter defines how much SOX suppresses alias artefacts from the up sampling process, you can set v h m l or q (Very High, High, Medium, Low and Quick) I think the higher settings take more processing to achieve and may not be the best sounding, h or m seem to work well.
The second letter chooses which type of filtering you use and so far I've found this make a very noticeable change to the sound, you can choose M for minimum phase, I for Intermediate or L for Linear I prefer the intermediate filter, the X ensures the up sampling is done to the highest rate set IE 176400
Listening in a Foo free Zone...
Only a Sith deals in absolutes.