It looks like it starts off with the iOS profile, is augmented with information from the client, which then changes the profile to Generic. From the server logs:
Apr 05, 2025 18:00:34.132 [0x70000118c000] DEBUG - [Req#192e] [Now] Profile is iOS
Apr 05, 2025 18:00:34.148 [0x700001627000] DEBUG - [Req#192f/Transcode] TranscodeUniversalRequest: adapting profile with augmentation data: add-transcode-target(type=videoProfile&context=all&protocol=hls&container=mkv&videoCodec=h264,png,apng,bmp,mjpeg,thp,gif,vp8,vp9,dirac,ffv1,ffvhuff,huffyuv,rawvideo,ayuv,r210,v210,v210x,v308,v408,v410,y41p,yuv4,ansi,h263,mpeg1video,mpeg2video,mpeg4,hevc,vc1&audioCodec=ape,aac,aac_latm,alac,dca,vorbis,opus,pcm,pcm_alaw,pcm_mulaw,pcm_bluray,pcm_dvd,mp1,mp2,ac3,eac3,mp3&subtitleCodec=ass,dvb_subtitle,eia_608,jacosub,microdvd,mov_text,mpl2,pgs,pjs,realtext,sami,srt,ssa,stl,subviewer,subviewer1,text,vobsub,vplayer,xsub)+add-limitation(scope=videoAudioCodec&scopeName=ac3&type=upperBound&name=audio.channels&value=10)+add-limitation(scope=videoTranscodeTarget&scopeName=mpeg2video&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.bitDepth&value=10)+add-limitation(scope=videoTranscodeTarget&scopeName=mpeg2video&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.width&value=3840)+add-limitation(scope=videoTranscodeTarget&scopeName=mpeg2video&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.height&value=2160)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.bitDepth&value=8)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.width&value=3840)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.height&value=2160)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.width&value=3840)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.height&value=2160)+add-transcode-target-settings(type=videoProfile&context=all&protocol=hls&CopyMatroskaAttachments=true)
Apr 05, 2025 18:00:34.148 [0x700001627000] DEBUG - [Req#192f/Transcode] TranscodeUniversalRequest: using augmented profile Generic
Apr 05, 2025 18:00:37.783 [0x700001627000] DEBUG - [Req#1967] [Now] Profile is Generic
And from the client’s logs:
…
limitation(scope%3DvideoTranscodeTarget%26scopeName%3Dh264%26scopeType%3DvideoCodec%26context%3Dall%26protocol%3Dhls%26type%3DupperBound%26name%3Dvideo.height%26value%3D2160)%2Badd-limitation(scope%3DvideoTranscodeTarget%26scopeName%3Dhevc%26scopeType%3DvideoCodec%26context%3Dall%26protocol%3Dhls%26type%3DupperBound%26name%3Dvideo.width%26value%3D3840)%2Badd-limitation(scope%3DvideoTranscodeTarget%26scopeName%3Dhevc%26scopeType%3DvideoCodec%26context%3Dall%26protocol%3Dhls%26type%3DupperBound%26name%3Dvideo.height%26value%3D2160)%2Badd-transcode-target-settings(type%3DvideoProfile%26context%3Dall%26protocol%3Dhls%26CopyMatroskaAttachments%3Dtrue)&X-Plex-Client-Profile-Name=Generic