Simple enough as mentioned in the question:
System`Convert`TeXFormDump`maketex["\[DifferentialD]"]="\\mathrm{d}";
should do the trick. And it actually does
"\[DifferentialD]"//TeXForm (* -> \mathrm{d} *)

But curiously
Integrate[f[x],x]//StandardForm
%//TeXForm (* -> \int f(x) \, dx *)
does not yield the expected result even though the StandartForm (boxed Mathematica representation) clearly uses \[DifferentialD]. The reason why the TeXForm is incorrect here is as OP guessed a problem and to be frank just a lazy oversight of the programmers of Mathematica:
GeneralUtilities`Definitions@System`Convert`TeXFormDump`maketex;
Select[ToString[#]&/@%,StringContainsQ[#,"integrand"]&];
%//TableForm
lets us look under the hood (the default tool of choice PrintDefinitions from GeneralUtilities does not work because it only prints when there are less then 257 definitions). From the 1059 definitions (in version 13) of maketex we select the ones which involve the string "integrand" and we get
HoldPattern[System`Convert`TeXFormDump`maketex[RowBox[{\[Integral], RowBox[{System`Convert`TeXFormDump`integrand_, RowBox[{\[DifferentialD], System`Convert`TeXFormDump`var_}]}]}]]] :> \int <>System`Convert`TeXFormDump`MakeTeX[System`Convert`TeXFormDump`integrand]<> \, d<>System`Convert`TeXFormDump`MakeTeX[System`Convert`TeXFormDump`var]
HoldPattern[System`Convert`TeXFormDump`maketex[RowBox[{SubsuperscriptBox[\[Integral], System`Convert`TeXFormDump`sub_, System`Convert`TeXFormDump`super_, ___], RowBox[{System`Convert`TeXFormDump`integrand_, RowBox[{\[DifferentialD], System`Convert`TeXFormDump`var_}]}]}]]] :> \int_<>System`Convert`TeXFormDump`MakeScript[System`Convert`TeXFormDump`sub]<>^<>System`Convert`TeXFormDump`MakeScript[System`Convert`TeXFormDump`super]<> <>System`Convert`TeXFormDump`MakeTeX[System`Convert`TeXFormDump`integrand]<> \, d<>System`Convert`TeXFormDump`MakeTeX[System`Convert`TeXFormDump`var]
with the critical segment ...\, d<>System.... They clearly did not account for the option to properly set a TeXForm for \[DifferentialD]. Related to this is this discussion What's the proper way to typeset a differential operator? on wether differential operators (and in this context mathematical constants like the imaginary unit, Eulers constant and even Pi) should be typeset upright. On a personal note: I like them upright (all of them including \uppi see this) to clearly differentiate between operators/constant and variables. Coming back from my ramblings to the problem. Lets fix the two functions
System`Convert`TeXFormDump`maketex[RowBox[{"\[Integral]",RowBox[{integrand_,RowBox[{"\[DifferentialD]",var_}]}]}]]:="\\int "<>System`Convert`TeXFormDump`MakeTeX[integrand]<> "\\," System`Convert`TeXFormDump`MakeTeX["\[DifferentialD]"]<>System`Convert`TeXFormDump`MakeTeX[var]
SystemConvertTeXFormDumpmaketex[RowBox[{SubsuperscriptBox["\[Integral]", sub_,super_,___], RowBox[{integrand_, RowBox[{"\[DifferentialD]", var_}]}]}]] :="\\int_"<>SystemConvertTeXFormDumpMakeScript[sub]<>"^"<>SystemConvertTeXFormDumpMakeScript[super]<>" "<>SystemConvertTeXFormDumpMakeTeX[integrand]<> "\,"<>SystemConvertTeXFormDumpMakeTeX["\[DifferentialD]"]<>SystemConvertTeXFormDumpMakeTeX[var]
which fixes the issue for Integrate
Integrate[f[x],x]//StandardForm
%//TeXForm (* -> \int f(x)\, \mathrm{d}x *)
and
Integrate[f[x], {x, 0, 1}] // StandardForm
% // TeXForm (* -> \int_0^1 f(x)\,\mathrm{d}x*)
both work as expected:

as do multidimensional integrals. For occurrences of \[DifferentialD] outside of Integrate further modifications along this line will most likely be necessary. I personally would also consider to add a thin space \, or \mkern2mu between the differential operator and the variable.
The last side note related to earlier ramblings:
System`Convert`TeXFormDump`maketex["\[DifferentialD]"]="\\mathrm{d}";
System`Convert`TeXFormDump`maketex["I"]="\\mathrm{i}";
System`Convert`TeXFormDump`maketex["E"]="\\mathrm{e}";
System`Convert`TeXFormDump`maketex["\[Pi]"]="\\uppi";
leads to the proper typesetting of Euler's formula (the solution for Pi is not ideal but it normally only appears in Mathematica as the mathematical constant)
Exp[I Pi x] // StandardForm
% // TeXForm (* -> \mathrm{e}^{\mathrm{i}\uppi x}*)
System`Convert`TeXFormDump`maketexandSystem`Convert`TeXFormDump`$Operators, but none of them seems to work. Looking forward to an answer. – xzczd Apr 20 '22 at 17:33