It seems it’s not easily possible to remove strikethrough from child elements without removing it from the full block.
But if it’s acceptable - the greyed out color on the parent block will remain - I found a CSS snippet workaround by CurioHeart on reddit, posted here:
.markdown-preview-view ul > li.task-list-item {
/* This is to help center the checkbox with other unordered list items; you may want/need to tweak this value for your current theme */
margin-left: 0.35em;
}
.markdown-preview-view ul > li.task-list-item.is-checked,
.markdown-preview-view ul > li > ul > li.task-list-item.is-checked,
.markdown-preview-view ul > li.task-list-item > ul > li.task-list-item.is-checked {
text-decoration: none;
color: var(--text-faint);
}
.markdown-preview-view ul > li.task-list-item.is-checked > ul > li {
color: var(--text-normal);
}
To use it, create a new text file under vaultFolder/.obsidian/snippets, copy the text in, and save it with .css extension.
Then opening the Obsidian Options, go to Appearance, go down to CSS Snippets section, and enable the file you have created.