Stroke Count of a Chinese Numeral
Python 2, 163 162 155 151 bytes
-1 thanks to Arnauld, -7 thanks to ovs
Hexdump:
00000000: efbb bf65 7865 6322 789c 1dcb c10e c220  ...exec&quot;x......
00000010: 0cc6 f157 e1c2 d2c2 88b4 6359 34c2 bb20  ...W......cY4..
00000020: b893 7689 274f 3ebb 65a7 36bf 7cff 3dbf  ..v.'O&gt;.e.6.|.=.
00000030: eafb d1ab 91b9 e578 1353 a543 fc32 734a  .......x.S.C.2sJ
00000040: ebc2 d44b 114b d1a5 8956 f430 7e5d 9866  ...K.K...V.0~].f
00000050: 93bb 5a62 bba1 5fdc e067 1ace 1b97 d226  ..Zb.._..g.....&amp;
00000060: c240 ca40 67ec 75ad 2de8 b92f 7852 440c  .@.@g.u.-../xRD.
00000070: 2039 0f62 f43b c885 e21c 7e5c 728f 8fd1   9.b.;....~\r...
00000080: 343a d7fe d154 254b 222e 6465 636f 6465  4:...T%K&quot;.decode
00000090: 2827 7a69 7027 29                        ('zip')

Unpacked:
f=lambda n,c=0:n and(0x222445321d&gt;&gt;n%10*4&amp;15)+(n%10and c%4*9%12%7)+3*(n%1e4and 272&gt;&gt;c&amp;1)-13*((1&gt;n%10+c%4)+((c%4&lt;3)&gt;n%100))-(n==c%4&lt;2)+f(n/10,-~c)or 13*0**c

Try it online!
Commented version
f=lambda n,c=0:n and        # If n is not zero, sum the following:
                            # The strokes of the current digit
  (0x222445321d&gt;&gt;n%10*4&amp;15) #   [13,1,2,3,5,4,4,2,2,2][n%10] 
                            # The 10/100/1000 marker stroke count, if 
                            # the currrent digit is zero
  + (n%10and c%4*9%12%7) #   [0, 2, 6, 3][n%10 and c%4]
                            # The 10^4 / 10^8 marker stroke count
  + 3*(n%1e4and 272&gt;&gt;c&amp;1)   #   3*(n%10000 and c in [4,8]) 
  - 13*(                    # Subtract 13 because we overcounted the zeros if
                            #   It's a trailing zero in a group of four
        (1&gt;n%10+c%4)        #     (n%10 == 0 and c%4 == 0)
                            #   and/or if it's part of a group of zeros
        +((c%4&lt;3)&gt;n%100)    #     (n%100 == 0 and c%4 != 3)
    )                       # Subtract 1 if we lead a group of four with 10
  - (n==c%4&lt;2)              #   (n==1 and c%4==1)
  + f(n/10,-~c)             # Recurse on next digit
                            # Else if n=0, return 13 if we are at the first
or 13*0**c                  # digit, else 0

We also use the exec&quot;...&quot;.decode('zip') to compress our code to save a few bytes.