save differences (gamepassmakoto/data000.sav used as baseline for offsets):
00000000 = 01 full game, 00 demo
00000001 = 00 full game, 00 demo
===IMPORTANT - changed in working switch save (30 -> 40) + 10 (hex)
00000004 - 00000005 = Something with save slots or game time, changes differently between platforms
slot 1 2 and 9 switch = 30 65
slot 1 gamepass/steam = 40 65
slot 2 and 9 gamepass/steam = 50 65
autosave switch = B0 90
autosave gamepass/steam = C0 90. PC version seems to iterate first value by 1
===IMPORTANT

===IMPORTANT - changed in working switch save
0000000C = always 8E on gamepass/steam, always 89 on switch
===IMPORTANT

==IMPORTANT - changed in working switch save (12 -> 27) + 15 (6E -> 72) + 4
00000035 - 0000003C = Seemingly related to game time and possibly slot, but values change by platform, and switch demo has different iteration
gamepass/steam slot 1 = 27 65 03 00 72 00 00 00
gamepass/steam slot 2 = 35 65 03 00 72 00 00 00
gamepass/steam slot 9 = 35 65 03 00 72 00 00 00
gamepass/steam autosave = A8 90 03 00 82 00 00 00
Switch full/demo slot 1 = 12 65 03 00 6E 00 00 00
Switch full slot 2 = 20 65 03 00 6E 00 00 00
Switch demo slot 2 = 12 65 03 00 6E 00 00 00
Switch full/demo slot 9 = 20 65 03 00 6E 00 00 00
Switch full/demo autosave = 93 90 03 00 7E 00 00 00
Switch progressed slot 7 = DD FE 07 00 88 00 00 00
Switch progressed slot 9 = 8A F2 07 00 88 00 00 00
0000003D = Save slot, 00 = slot 1, 08 = slot 9, FF = autosave 
00000058 - 0000005F = Different in every save. Presumably timestamp
00000060 = Extra byte gets added after initial save - changes during game (10 on first autosave, 1A in far progressed save)
00000063 = current location seemingly, initial save has this blank (its at 00000064 for saves that actually have a location due to the extra byte in 00000060)
0000006E - 0000007F = gamepass/steam has 4 additional bytes between 04 and 0A. Switch version always has C bytes between(checked with far progressed save), gamepass/steam has 10. Seemingly all 00, but could change maybe? There is also another demo marker here
post-location marker values for dif versions:
Gamepass    00 05 00 00 00 4E 6F 6E 65 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A
Steam demo  00 05 00 00 00 4E 6F 6E 65 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0A
Switch      00 05 00 00 00 4E 6F 6E 65 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 0A
Switch demo 00 05 00 00 00 4E 6F 6E 65 00 00 04 00 00 00 00 00 00 00 00 01 00 00 00 0A

== IMPORTANT - changed in working switch save (57 -> 68) + 11
000000B7 - 000000B8 = after 37 bytes identical between versions (but change later in game - some 00 become 01), these two values change between platform and game progression, iterating alongside 00000035
gamepass/steam 1 = 68 64 03
gamepass/steam 2 = 76 64 03
gamepass/steam 3 = D9 8F 03
switch 1 = 57 64 03
switch 2 = 65 64 03
switch 3 = C8 8F 03
switch 4 = DC 76 06
switch 5 = 89 6A 06
== IMPORTANT
00022BD7 = PC versions have added bytes here:
gamepass 2020 initial =  05 00 00 00 00 FF FF FF FF 00 00 00 00 4C 00 00 00 37 30 2F 36 39 2F 36 38 2F 34 30 2F 33 39 2F 34 32 2F 36 34 2F 37 35 2F 34 31 2F 32 31 2F 32 33 2F 37 39 2F 38 30 2F 38 31 2F 38 32 2F 31 34 2F 31 36 2F 31 35 2F 32 37 2F 32 36 2F 32 38 2F 32 32 2F 33 34 2F 33 33 2F 33 35 2F 00 00 00 00 00 00 00 A8 FF 9B 89 42 40 05 00 00 00 4E 6F 6E 65
gamepass 2021 initial =  05 00 00 00 00 FF FF FF FF 00 00 00 00 4C 00 00 00 37 30 2F 36 39 2F 36 38 2F 34 30 2F 33 39 2F 34 32 2F 36 34 2F 37 35 2F 34 31 2F 32 31 2F 32 33 2F 37 39 2F 38 30 2F 38 31 2F 38 32 2F 31 34 2F 31 36 2F 31 35 2F 32 37 2F 32 36 2F 32 38 2F 32 32 2F 33 34 2F 33 33 2F 33 35 2F 00 00 00 00 00 00 00 58 9B 21 51 41 40 05 00 00 00 4E 6F 6E 65
gamepass 2020 autosave = 05 00 00 00 00 FF FF FF FF 00 00 00 00 4C 00 00 00 37 30 2F 36 39 2F 36 38 2F 34 30 2F 33 39 2F 34 32 2F 36 34 2F 37 35 2F 34 31 2F 32 31 2F 32 33 2F 37 39 2F 38 30 2F 38 31 2F 38 32 2F 31 34 2F 31 36 2F 31 35 2F 32 37 2F 32 36 2F 32 38 2F 32 32 2F 33 34 2F 33 33 2F 33 35 2F 00 00 00 00 00 00 00 28 5C D9 39 47 40 04 00 00 00 44 30 31 00
Switch 2020 initial =    05 00 00 00 00                                                00 00 68 6F 00 2E 49 40 05 00 00 00 4E 6F 6E 65
Switch 2021 initial =    05 00 00 00 00                                                00 00 66 CD EE 31 63 40 05 00 00 00 4E 6F 6E 65
switch 2020 autosave =   05 00 00 00 00                                                00 00 F0 9B 0F C9 34 40 04 00 00 00 44 30 31 00
Switch 2021 autosave =   05 08 00 00 00                                                00 00 A8 BF 7A D3 4A 40 04 00 00 00 44 30 31 00
last 4 bytes are location
Missing bytes: FF FF FF FF 00 00 00 00 4C 00 00 00 37 30 2F 36 39 2F 36 38 2F 34 30 2F 33 39 2F 34 32 2F 36 34 2F 37 35 2F 34 31 2F 32 31 2F 32 33 2F 37 39 2F 38 30 2F 38 31 2F 38 32 2F 31 34 2F 31 36 2F 31 35 2F 32 37 2F 32 36 2F 32 38 2F 32 32 2F 33 34 2F 33 33 2F 33 35 2F 00 00 00 00 00
== IMPORTANT

== IMPORTANT - changed in working switch save
0002F904 = DLC section. This value is the number of DLCs (3 for my save on gamepass, 8 for my save on switch, might depend.) followed by the DLC names. The missing values on PC are:
00 00 00 00 00 07 00 00 00 44 4C 43 5F 30 33 00 00 00 00 00 07 00 00 00 44 4C 43 5F 30 34 00 00 00 00 00 07 00 00 00 44 4C 43 5F 30 35 00 00 00 00 00 07 00 00 00 44 4C 43 5F 30 36 00 00 00 00 00 07 00 00 00 44 4C 43 5F 30 37
== IMPORTANT

== IMPORTANT - edited in working switch save removed extra bytes (12 -> 27) + 15
End of file = Switch has 4 extra bytes right before the last nonzero part. Presumably this was where the added bytes at the start came from. Autosave has one byte removed from before the last timestamp (?), presumably where the 10 added earlier comes from. In far progressed saves, there is a large amount added between 00 00 00 00 00 04 and the timestamp, this might move along with the four bytes.
gamepass initial:  59 33 32 5F 31 46 5F 30 31 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                27 65 03 00 EE C3 99 D4 00 00 00 00 00 00 00 00
gamepass autosave: 59 33 32 5F 31 46 5F 30 31 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                   A8 90 03 00 E2 8F 19 7F 00 00 00 00 00 00 00 00
switch initial:    59 33 32 5F 31 46 5F 30 31 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 65 03 00 26 E7 E1 4C 00 00 00 00 00 00 00 00
switch autosave:   59 33 32 5F 31 46 5F 30 31 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    93 90 03 00 1A 02 C0 DB 00 00 00 00 00 00 00 00
										 
== IMPORTANT

Seemingly unique per save things changed to get it to work:
0003653C - 0003653F:  26 E7 E1 4C -> EE C3 99 D4
00000058 - 0000005D: 20 C2 E7 25 11 9B -> 70 FE 53 98 75 99
00022C3A - 00022C3E: 68 6F 00 2E 48 -> A8 FF 9B 89 42