I've made a few minor corrections and clarifications.
Nonets are diagonally connected between R2C3 and R3C2, and between R7C8 and R8C7; there is also a diagonal nonet between R1C1 and R9C9.
Prelims
a) R2C67 = {19/28/37/46}, no 5
b) R34C8 = {19/28/37/46}, no 5
c) R67C2 = {39/48/57}, no 1,2,6
d) R8C34 = {49/58/67}, no 1,2,3
e) 19(3) cage at R3C2 = {289/379/469/478/568}, no 1
f) 8(3) cage at R5C8 = {125/134}
g) 26(4) cage at R2C1 = {2789/3689/4589/4679/5678}, no 1
h) 14(4) cage at R5C9 = {1238/1247/1256/1346/2345}, no 9
i) 26(4) cage at R9C6 = {2789/3689/4589/4679/5678}, no 1
1. 8(3) cage at R5C8 = {125/134}, 1 locked for C8 and NR2C8, clean-up: no 9 in R34C8
2. 45 rule on R1 1 innie R1C9 = 4
2a. 14(4) cage at R5C9 = {1238/1256}, no 7, 1,2 locked for C9 and NR1C8
3. 45 rule on R9 1 innie R9C1 = 3
4. 45 rule on C1 1 innie R1C1 = 1, placed for diagonal nonet
4a. R9C2 = 1 (hidden single in NR2C1)
4b. R2C3 = 1 (hidden single in NR1C2) , clean-up: no 9 in R2C67
5. 45 rule on C9 1 innie R9C9 = 9, placed for diagonal nonet
5a. R1C8 = 9 (hidden single in NR1C8)
5b. R8C7 = 9 (hidden single in NR2C8) , clean-up: no 4 in R8C34
6. 45 rule on C8 3 remaining innies R289C8 = 18 = {378/468/567}, no 2
7. Law of Leftovers (LoL) for C12 2 outies R12C3 must exactly equal two innies R1C1 + R2C2, R1C1 = R2C3 -> R1C3 = R2C2, no 4 in R2C2
8. LoL for C89 2 outies R89C7 must exactly equal two innies R8C8 + R9C9, R8C7 = R9C9 -> R8C8 = R9C7, no 3 in R8C8, no 2 in R9C7
9. 45 rule on NR1C2 1 outie R1C4 = 1 remaining innie R8C2 + 4 -> R1C4 = {678}, R8C2 = {234}
10. 45 rule on NR2C8 1 remaining innie R2C8 = 1 outie R9C6 + 1, no 4 in R2C8, no 8 in R9C6
11. 1 in C7 only in R3456C7, locked for NR2C7
11a. 1 in C6 only in R78C6, locked for NR7C5
11b. 9 in C3 only in R4567C3, locked for NR4C3
11c. 9 in C4 only in R23C4, locked for NR1C4
11d. 2 in R9 only in R9C3456, locked for NR7C5
11e. 9 in NR7C5 only in R7C56, locked for R7, clean-up: no 3 in R6C2
11f. R4C7 = 1 (hidden single in R4)
12. 45 rule on NR7C5 2 remaining outies R7C4 + R8C3 = 2 innies R89C6 + 8
12a. Min R89C6 = 3 -> min R7C4 + R8C3 = 11, no 1,2 in R7C4
12b. Max R7C4 + R8C3 = 15 -> max R89C6 = 7, no 6,7,8 in R8C6, no 7 in R9C6, clean-up: no 8 in R2C8 (step 10)
13. Hidden killer pair 1,3 in 25(4) cage at R7C4 and R8C4 for NR7C5, 25(4) cage cannot contain both of 1,3 -> 25(4) cage must contain one of 1,3 in NR7C5 and R8C6 = {13}
13a. 25(4) cage contains one of 1,3 in NR7C5 -> no 3 in R7C4
14. 45 rule on NR2C8 3 innies R2C8 + R9C78 = 18 = {378/468/567}
14a. 3 of {378} must be in R2C8, 5 of {567} must be in R2C8 (R9C78 cannot be {56/57} because 26(4) cage at R9C6 cannot be 6{56}9/5{57}9) -> no 7 in R2C8, no 5 in R9C78, clean-up: no 5 in R8C8 (step 8), no 6 in R9C6 (step 10)
14b. 5 in R9 only in R9C3456, locked for NR7C5, clean-up: no 8 in R8C3
15. 45 rule on NR1C2 3 innies R1C23 + R8C2 = 13 = {238/247/346} (cannot be {256} because 18(4) cage at R1C1 cannot be 1{56}6), no 5 in R1C23, clean-up: no 5 in R2C2 (step 7)
15a. 5 in R1 only in R1C567, locked for NR1C3
15b. 23(4) cage at R1C6 = {2579/3569}, no 8
16. 45 rule on C2 3 innies R128C2 = 13 = {238/247/346}
16a. 19(3) cage at R3C2 = {289/469/568} (cannot be {379/478} which clash with R128C2), no 3,7
16b. R67C2 = {57}/[93] (cannot be {48} which clashes with R128C2), no 4,8
17. 25(4) cage at R7C4 must contain one of 1,3 (step 13) = {1789/3589/3679}, no 4
17a. 4 in NR7C5 only in R9C3456, locked for R9, clean-up: no 4 in R8C8 (step 8)
17b. R2C8 + R9C78 (step 14) = {378/567}
17c. 5 of {567} must be in R2C8 (step 14a) -> no 6 in R2C8, clean-up: no 5 in R9C6 (step 10)
[I overlooked 7 locked for R9 in step 17b; it comes in step 19.]
18. Killer pair 3,5 in R2C8 and 8(3) cage at R5C8, locked for C8, clean-up: no 7 in R34C8
19. 26(4) cage at R9C6 = {2789/4679}, 7 locked for R9
[There may be a way to continue without using a chain, but if so I can’t see it at this stage.]
20. 16(4) cage at R9C2 = {1258/1456}
20a. Consider combinations for R8C34 = [58]/{67}
R8C34 = [58] => 16(4) cage = {1456}
or R8C34 = {67}, locked for R8 => R8C8 = 8 => R9C7 = 8 (step 8) => 16(4) cage = {1456}
-> 16(4) cage = {1456}, 4,5,6 locked for R9 and NR7C5 -> R9C6 = 2, clean-up: no 8 in R2C7, no 7 in R8C3
20b. Naked pair {78} in R9C78, locked for NR2C8, clean-up: no 2 in R34C8
20c. Naked pair {46} in R34C8, locked for C8, clean-up: no 3 in 8(3) cage at R5C8
20d. Naked triple {125} in 8(3) cage at R5C8, locked for C8 -> R2C8 = 3, clean-up: no 3 in R1C3 (step 7), no 7 in R2C67
20e. Naked pair {78} in R8C48, locked for R8 -> R8C56 = [31], clean-up: no 7 in R1C4 (step 9)
21. 25(4) cage at R7C4 = {3589/3679}
21a. 5,6 only in R7C4 -> R7C4 = {56}
21b. Naked pair {56} in R7C4 + R8C3, locked for NR4C3
22. R128C2 (step 16) = {238/247/346}
22a. 3 of {238/346} must be in R1C2 -> no 6,8 in R1C2
23. R8C34 = [67] (cannot be [58] because R78C4 = [68] clashes with R1C4), 7 placed for NR7C5 -> R7C4 = 5, R8C8 = 8, placed for diagonal nonet, R9C78 = [87], clean-up: no 7 in R6C2
23a. Naked pair {89} in R7C56, locked for R7
23b. Deleted
24. LoL for C123 4 outies R567C4 + R6C5 must exactly equal 4 innies R1C1 + R2C2 + R3C39, no 6 in R567C4 + R6C5 -> no 6 in R2C2
25. Naked triple {237} in R127C2, locked for C2 -> R8C2 = 4, R1C3 = 8 (step 9), placed for NR1C4, clean-up: no 2 in R2C7, no 9 in 19(3) cage at R3C2
25a. Naked pair {46} in R2C67, locked for R2
25b. Naked pair {46} in R2C67, CPE no 6 in R1C7, no 4,6 in R3C6
25c. Deleted
25d. Naked pair {27} in R2C25, locked for R2 -> R2C4 = 9
26. 45 rule on NR1C4 2 innies R12C4 = 1 outies R2C7 + R3C6 + 2
26a. R12C4 = [89] = 17 -> R2C7 + R3C6 = 15 -> R2C7 = 6, R3C6 = 9, both placed for NR2C7, R2C6 = 4, placed for NR1C4, R7C56 = [98]
27. R6C2 = 9 (hidden single in C2) -> R7C2 = 3
28. R1C567 = {356} (hidden triple in R1), locked for NR1C4
28a. 19(4) cage at R2C5 = {1279}, 7 locked for C5
29. R4C5 = 8 (hidden single in NR2C7)
29a. 2,4 in NR2C7 only in R356C7, locked for C7 -> R7C7 = 7, placed for diagonal nonet, R2C2 = 2, placed for diagonal nonet, R1C23 = [72], R7C3 = 4, placed for NR4C3, R9C3 = 5, R3C3 = 3, placed for diagonal nonet
30. 18(4) cage at R6C1 contains 3 = {2367/3456} (cannot be {2358} which clashes with R2C1) -> R7C1 = 6, R6C1 = {47}
31. R2C5 = 7, naked pair {12} in R3C45, locked for R3
32. 22(4) cage at R1C9 = {3478/4567}
32a. R2C9 = {58} -> no 5,8 in R34C9
[Just spotted]
33. R4C1 = 2 (hidden single in R4), R8C1 = 5, R6C1 = 4 (cage sum)
34. Naked pair {46} in R4C48, locked for R4 -> R4C2 = 5
34a. R4C3 = 9 (hidden single in R4)
35. R2C1 = 8, R3C1 = 7, R23C9 = [56] -> R4C9 = 7 (cage sum), R34C8 = [46], R3C7 = 5, placed for NR2C7
36. R6C6 = 6 (hidden single in R6), placed for diagonal nonet
and the rest is naked singles, without using the nonets.