OK. I found the problem by interpreting jQuery docs.
When you write:
$embellishment.data("embellishmentId");
it is handled by jQuery as compound attribute:
<div data-embellishment-id="3"></div>
So, to solve the problem you can use lower case in the data key otherwise it just addresses the different attribute.
<!-- HTML -->
<div data-embellishmentid="3"></div>
// JavaScript
$embellishment.data("embellishmentid");