I was correct in guessing that the M300 is doing SRC (sample rate conversion) to maximize app compatibility. Our technical lead / president, Fanoble Meng, offers the following exposition of the situation on Weibo
https://weibo.com/ttarticle/p/show?id=2309404966597658804641 which I summarize here, with my own extra notes in square brackets:
It is less important whether SRC is involved [for example, any oversampling + antialiasing DAC is technically performing the same thing as SRC, to *improve* audio performance], than what quality SRC is involved, in case it is involved.
[Since there are few sounds in this exposition, first let's establish what is being examined by the pictures used for illustration. They are linear tone sweeps, the x-axis represents time and the y-axis represents frequency. Bright colours on the black background indicate points in time-frequency where signals are input. This is what the input looks like (spanning different frequency ranges in each case):]

^ A single diagonal line represents a linear frequency sweep.
Frequency sweeps are used for illustration both because the effects of degradation from SRC are more easily visualized, and also because they are actually better heard in a frequency sweep, than any music source. Don't believe me, you can try it yourself (pm me if you need assistance).
This is what bad SRC can look like:
[Here's an example of a linear sweep generated at 352.8kHz sample rate being resampled to 48kHz, at lowest and then highest quality in Audacity:]

[You can download the sound sample here to hear what this sounds like. Upper trace is left channel, lower trace right:
https://www.dropbox.com/scl/fi/znva...ast.flac?rlkey=yjzqbi75or3wvyy9m2ark5waz&dl=0
And to further reinforce the point about hearing this more easily in sine sweeps than music, here's a piece of music from the former 2L test bench with full spectral content, the original at 352.8kHz SR, one resampled to 48kHz SR using the nasty resampler and one resampled to 48kHz SR using the great resampler:
https://mega.nz/file/4d4R1azR#_kJfOhfFURYMqGnnPDXsY0u-1pAOk32gs5-f6RCbYLQ --original DXD 352.8kHz SR file formerly available at the 2L test bench
https://mega.nz/file/IJ4GRQxa#FR1yOu6vRnRTFVyMs5wVZTYi38e8--wie6X-qhVKSV8 --resampled to 48kHz at lowest quality shown above
https://mega.nz/file/1dZDXBCC#oIcJ630cbGA-4unPnD8_S7Ok7xYuC_3D_A464FiqzBc --resampled to 48kHz at maximum quality shown above (this actually compresses into a smaller FLAC file; do not be confused by this)
]
So, here's some test sweeps done on some contemporary smartphones, which have come a long way since early Android: (note that the max frequency represented by any particular sweep is the Nyquist frequency, which is 1/2 the sample rate. Ideally you should e.g. see a diagonal line reaching up to 22050Hz for 44.1kHz SR and 96000Hz (off the charts here) for 192kHz SR:

^Sweep response of the Sony Xperia 1V

^Sweep response of the iQOO Z1.
Some observations:
1. all sample rates are converted to 48kHz output. The output frequency response does not exceed 24kHz, which does not comply with Hi-Res audio requirements.
2. 44.1 and 48kHz audio are both output perfectly (despite 44.1kHz being resampled to 48kHz). [This was not the case with earlier Android devices]
3. there are problems with 88.2kHz input and above in that it is bandlimited to 24kHz, and there is also some aliasing foldup / foldback when the tone sweep approaches / exceeds 24kHz. The higher the sample rate input, the more apparent the foldback.
For point 3, since the foldback goes down to anywhere between 21kHz (for 88.2kHz input) and 17kHz (for some of the higher SR inputs), this foldback should be considered audible distortion.
Now:

^Sweep response of the HiBy M300 (note that the frequency axis goes up to 96000 instead of 30000Hz)
Some observations:
1. The played back bandwidth is up to 90kHz, very close to the theoretical maximum of a 192kHz audio file. The difference is accounted for by the need for a good antialiasing filter. 90kHz well exceeds the requirements laid out for Hi-Res audio by the Japan Audio Society and the Consumer Electronics Society as the basis of issuing the Hi-Res Audio badge.
2. At 352.8kHz SR input and over, there exists some foldup / foldback aliasing of the sound, which however never goes down beyond 70kHz and is inaudible.
To summarize:
1. Current Android systems' built-in SRC has improved to the point of no detectable degradation of 44.1 and 48kHz audio.
2. However, the smartphones we tested are limited to 48kHz sample rate (24kHz bandwidth) which is not Hi-Res.
3. The M300 does have SRC but this does not affect the audio output except at high ultrasonic frequencies.
Some additional notes:
1. The M300 currently still has a small bug which limits bandwidth to 24kHz (as opposed to 90kHz) unless touch panel feedback sounds are disabled. We will fix this in a coming firmware update.
2. Using HiBy Music, you can output at 32 bit floating point for the highest fidelilty.
3. The audio specifications of the M300 (THD, etc.), as measured on an Audio Precision analyzer, already take SRC into account. As you can see, the specs remain highly competitive, not affected by SRC. [And, as you will have found out from the audio samples above, this is not something that will escape measurements and somehow crop up in music listening; quite the opposite.]